<!doctype html>
<!--[if IE 7 ]>
<html class="no-js ie ie7 lte7 lte8 lte9" lang="zh"> <![endif]-->
<!--[if IE 8 ]>
<html class="no-js ie ie8 lte8 lte9" lang="zh"> <![endif]-->
<!--[if IE 9 ]>
<html class="no-js ie ie9 lte9>" lang="zh"> <![endif]-->
<!--[if (gt IE 9)|!(IE)]><!-->
<html class="no-js" lang="zh"> <!--<![endif]-->
<head data-live-domain="blog.jquery.com">
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

    <title>Official jQuery Blog | New Wave Javascript</title>

    <meta name="author" content="jQuery Foundation - jquery.org">
    <meta name="description" content="jQuery: The Write Less, Do More, JavaScript Library">

    <meta name="viewport" content="width=device-width">

    <link rel="shortcut icon" href="https://blog.jquery.com/wp-content/themes/jquery.com/i/favicon.ico">

    <link rel="stylesheet" href="https://blog.jquery.com/wp-content/themes/jquery/css/base.css?v=1">
    <link rel="stylesheet" href="../wp-content/themes/jquery.com/style.css">
    <link rel="pingback" href="https://blog.jquery.com/xmlrpc.php"/>
    <!--[if lt IE 7]>
    <link rel="stylesheet" href="css/font-awesome-ie7.min.css"><![endif]-->

    <script src="https://blog.jquery.com/wp-content/themes/jquery/js/modernizr.custom.2.6.2.min.js"></script>

    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    <script>window.jQuery || document.write(unescape('%3Cscript src="https://blog.jquery.com/wp-content/themes/jquery/js/jquery-1.9.1.min.js"%3E%3C/script%3E'))</script>

    <script src="https://blog.jquery.com/wp-content/themes/jquery/js/plugins.js"></script>
    <script src="https://blog.jquery.com/wp-content/themes/jquery/js/main.js"></script>

    <script src="//use.typekit.net/wde1aof.js"></script>
    <script>try {
        Typekit.load();
    } catch (e) {
    }</script>

    <meta name='robots' content='max-image-preview:large'/>
    <link rel='dns-prefetch' href='//s.w.org'/>
    <link rel="alternate" type="application/rss+xml" title="Official jQuery Blog &raquo; Feed"
          href="https://blog.jquery.com/feed/"/>
    <link rel="alternate" type="application/rss+xml" title="Official jQuery Blog &raquo; Comments Feed"
          href="https://blog.jquery.com/comments/feed/"/>
    <script type="text/javascript">
        window._wpemojiSettings = {
            "baseUrl": "https:\/\/s.w.org\/images\/core\/emoji\/13.1.0\/72x72\/",
            "ext": ".png",
            "svgUrl": "https:\/\/s.w.org\/images\/core\/emoji\/13.1.0\/svg\/",
            "svgExt": ".svg",
            "source": {"concatemoji": "https:\/\/blog.jquery.com\/wp-includes\/js\/wp-emoji-release.min.js?ver=5.8"}
        };
        !function (e, a, t) {
            var n, r, o, i = a.createElement("canvas"), p = i.getContext && i.getContext("2d");

            function s(e, t) {
                var a = String.fromCharCode;
                p.clearRect(0, 0, i.width, i.height), p.fillText(a.apply(this, e), 0, 0);
                e = i.toDataURL();
                return p.clearRect(0, 0, i.width, i.height), p.fillText(a.apply(this, t), 0, 0), e === i.toDataURL()
            }

            function c(e) {
                var t = a.createElement("script");
                t.src = e, t.defer = t.type = "text/javascript", a.getElementsByTagName("head")[0].appendChild(t)
            }

            for (o = Array("flag", "emoji"), t.supports = {
                everything: !0,
                everythingExceptFlag: !0
            }, r = 0; r < o.length; r++) t.supports[o[r]] = function (e) {
                if (!p || !p.fillText) return !1;
                switch (p.textBaseline = "top", p.font = "600 32px Arial", e) {
                    case"flag":
                        return s([127987, 65039, 8205, 9895, 65039], [127987, 65039, 8203, 9895, 65039]) ? !1 : !s([55356, 56826, 55356, 56819], [55356, 56826, 8203, 55356, 56819]) && !s([55356, 57332, 56128, 56423, 56128, 56418, 56128, 56421, 56128, 56430, 56128, 56423, 56128, 56447], [55356, 57332, 8203, 56128, 56423, 8203, 56128, 56418, 8203, 56128, 56421, 8203, 56128, 56430, 8203, 56128, 56423, 8203, 56128, 56447]);
                    case"emoji":
                        return !s([10084, 65039, 8205, 55357, 56613], [10084, 65039, 8203, 55357, 56613])
                }
                return !1
            }(o[r]), t.supports.everything = t.supports.everything && t.supports[o[r]], "flag" !== o[r] && (t.supports.everythingExceptFlag = t.supports.everythingExceptFlag && t.supports[o[r]]);
            t.supports.everythingExceptFlag = t.supports.everythingExceptFlag && !t.supports.flag, t.DOMReady = !1, t.readyCallback = function () {
                t.DOMReady = !0
            }, t.supports.everything || (n = function () {
                t.readyCallback()
            }, a.addEventListener ? (a.addEventListener("DOMContentLoaded", n, !1), e.addEventListener("load", n, !1)) : (e.attachEvent("onload", n), a.attachEvent("onreadystatechange", function () {
                "complete" === a.readyState && t.readyCallback()
            })), (n = t.source || {}).concatemoji ? c(n.concatemoji) : n.wpemoji && n.twemoji && (c(n.twemoji), c(n.wpemoji)))
        }(window, document, window._wpemojiSettings);
    </script>
    <style type="text/css">
        img.wp-smiley,
        img.emoji {
            display: inline !important;
            border: none !important;
            box-shadow: none !important;
            height: 1em !important;
            width: 1em !important;
            margin: 0 .07em !important;
            vertical-align: -0.1em !important;
            background: none !important;
            padding: 0 !important;
        }
    </style>
    <link rel='stylesheet' id='wp-block-library-css'
          href='https://blog.jquery.com/wp-includes/css/dist/block-library/style.min.css?ver=5.8' type='text/css'
          media='all'/>
    <link rel="https://api.w.org/" href="https://blog.jquery.com/wp-json/"/>
    <link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://blog.jquery.com/xmlrpc.php?rsd"/>
    <link rel="wlwmanifest" type="application/wlwmanifest+xml"
          href="https://blog.jquery.com/wp-includes/wlwmanifest.xml"/>
    <meta name="generator" content="WordPress 5.8"/>

</head>
<body class="jquery">

<!--[if lt IE 7]>
<p class="chromeframe">You are using an outdated browser. <a href="http://browsehappy.com/">Upgrade your browser
    today</a> or <a href="http://www.google.com/chromeframe/?redirect=true">install Google Chrome Frame</a> to better
    experience this site.</p>
<![endif]-->

<header>
    <section id="global-nav">
        <nav>
            <div class="constrain">
                <ul class="projects">
                    <li class="project jquery"><a href="../jquery.com/" title="jQuery">jQuery</a></li>
                    <li class="project jquery-ui"><a href="http://jqueryui.com/" title="jQuery UI">jQuery UI</a></li>
                    <li class="project jquery-mobile"><a href="http://jquerymobile.com/" title="jQuery Mobile">jQuery
                        Mobile</a></li>
                    <li class="project sizzlejs"><a href="http://sizzlejs.com/" title="Sizzle">Sizzle</a></li>
                    <li class="project qunitjs"><a href="http://qunitjs.com/" title="QUnit">QUnit</a></li>
                </ul>
                <ul class="links">
                    <li><a href="http://plugins.jquery.com/">Plugins</a></li>
                    <li class="dropdown"><a href="http://contribute.jquery.org/">Contribute</a>
                        <ul>
                            <li><a href="http://contribute.jquery.org/cla/">CLA</a></li>
                            <li><a href="http://contribute.jquery.org/style-guide/">Style Guides</a></li>
                            <li><a href="http://contribute.jquery.org/triage/">Bug Triage</a></li>
                            <li><a href="http://contribute.jquery.org/code/">Code</a></li>
                            <li><a href="http://contribute.jquery.org/documentation/">Documentation</a></li>
                            <li><a href="http://contribute.jquery.org/web-sites/">Web Sites</a></li>
                        </ul>
                    </li>
                    <li class="dropdown"><a href="http://events.jquery.org/">Events</a>
                        <ul class="wide">
                            <li>
                                <a href="http://appendto.com/what-we-do/training/schedule/jquery-virtual-training-april-2014/">Apr
                                    16-17 | jQuery Virtual Training</a></li>
                            <li>
                                <a href="http://jqueryuk.com/?utm_source=jqueryorg&utm_medium=banner&utm_campaign=jqueryorgbanner">May
                                    16 | jQuery UK</a></li>
                            <li>
                                <a href="http://appendto.com/what-we-do/training/schedule/jquery-virtual-training-june-2014/">Jun
                                    17-19 | jQuery Virtual Training</a></li>
                            <li><a href="http://events.jquery.org/2014/chicago/">Sep 12-13 | jQuery Chicago</a></li>
                            <li><a href="http://2014.cssdevconf.com/">Oct 13-15 | CSS Dev Conf 2014</a></li>
                        </ul>
                    </li>
                    <li class="dropdown"><a href="https://jquery.org/support/">Support</a>
                        <ul>
                            <li><a href="http://learn.jquery.com/">Learning Center</a></li>
                            <li><a href="http://try.jquery.com/">Try jQuery</a></li>
                            <li><a href="http://irc.jquery.org/">IRC/Chat</a></li>
                            <li><a href="http://forum.jquery.com/">Forums</a></li>
                            <li><a href="http://stackoverflow.com/tags/jquery/info">Stack Overflow</a></li>
                            <li><a href="https://jquery.org/support/">Commercial Support</a></li>
                        </ul>
                    </li>
                    <li class="dropdown"><a href="https://jquery.org/">jQuery Foundation</a>
                        <ul>
                            <li><a href="https://jquery.org/join/">Join</a></li>
                            <li><a href="https://jquery.org/members/">Members</a></li>
                            <li><a href="https://jquery.org/team/">Team</a></li>
                            <li><a href="http://brand.jquery.org/">Brand Guide</a></li>
                            <li><a href="https://jquery.org/donate/">Donate</a></li>
                        </ul>
                    </li>
                </ul>
            </div>
        </nav>
    </section>
</header>

<div id="container">
    <div id="logo-events" class="constrain clearfix">
        <h2 class="logo"><a href="/" title="Official jQuery Blog">Official jQuery Blog</a></h2>

        <aside>
            <div id="broadcast"></div>
        </aside>
    </div>

    <nav id="main" class="constrain clearfix">
        <div class="menu-top-container">
            <ul id="menu-top" class="menu">
                <li class="menu-item"><a href="../jquery.com/download/">下载</a></li>
                <li class="menu-item"><a href="../api.jquery.com/">API 文档</a></li>
                <li class="menu-item"><a href="">博客</a></li>
                <li class="menu-item"><a href="../plugins.jquery.com/">插件</a></li>
                <li class="menu-item"><a href="../jquery.com/browser-support/">浏览器支持</a></li>
            </ul>
        </div>

        <form method="get" class="searchform" action="https://blog.jquery.com/">
            <button type="submit" class="icon-search"><span class="visuallyhidden">search</span></button>
            <label>
                <span class="visuallyhidden">Search Official jQuery Blog</span>
                <input type="text" name="s" value=""
                       placeholder="搜索">
            </label>
        </form>
    </nav>

    <div id="content-wrapper" class="clearfix row">

        <div class="content-right twelve columns listing">
            <div id="content">

                <article id="post-4411"
                         class="post-4411 post type-post status-publish format-standard hentry category-jquery category-uncategorized">
                    <header class="entry-header">
                        <div class="entry-meta">
                            <span class="category"><a
                                    href="https://blog.jquery.com/category/jquery/">jQuery</a></span><span
                                class="category-divider"> | </span><span class="category"><a
                                href="https://blog.jquery.com/category/uncategorized/">Uncategorized</a></span></div>
                        <h1 class="entry-title">
                            <a href="https://blog.jquery.com/2021/06/17/jquery-project-updates-addressing-temporary-cdn-issues/"
                               title="Permalink to jQuery project updates addressing temporary CDN issues"
                               rel="bookmark">jQuery project updates addressing temporary CDN issues</a>
                        </h1>

                        <div class="entry-posted">
                            <span class="sep">Posted on </span><a
                                href="https://blog.jquery.com/2021/06/17/jquery-project-updates-addressing-temporary-cdn-issues/"
                                title="12:21 pm" rel="bookmark">
                            <time class="entry-date" datetime="2021-06-17T12:21:31-05:00" pubdate>June 17, 2021</time>
                        </a><span class="by-author"> <span class="sep"> by </span> <span class="author vcard"><a
                                class="url fn n" href="https://blog.jquery.com/author/jory/"
                                title="View all posts by Jory Burson" rel="author">Jory Burson</a></span></span></div>
                    </header>

                    <div class="entry-content">
                        <p>As part of its ongoing infrastructure updates, the jQuery infrastructure team is making
                            configuration and deployment changes to address intermittent outages reported by some users.
                            The issue is the result of faulty IP allowlisting which affects users downloading jQuery
                            project assets from certain IP addresses. </p>
                        <p>This issue is expected to be resolved in the next few weeks. In the interim, users can
                            mitigate the issue by downloading and serving the files they need. </p>
                        <p>CDN migration is part of a package of infrastructure improvement projects the project has
                            been undertaking this year. The infrastructure team plans to provide a full overview of
                            these improvements, which will help support the long-term maintenance of jQuery and its
                            related projects, later this summer.</p>
                        <p>jQuery continues to be a widely-used open source project with active maintainers. While many
                            sites host jQuery locally, others rely upon the jQuery CDN to deliver the library on demand.
                            On average, the jQuery CDN delivers over 2 petabytes of code per month. The project is
                            hosted at the OpenJS Foundation, the vendor-neutral organization to grow and sustain the
                            JavaScript and web ecosystem.</p>
                    </div>
                </article>

                <article id="post-4395"
                         class="post-4395 post type-post status-publish format-standard hentry category-jquery tag-jquery-updates">
                    <header class="entry-header">
                        <div class="entry-meta">
                            <span class="category"><a href="https://blog.jquery.com/category/jquery/">jQuery</a></span>
                        </div>
                        <h1 class="entry-title">
                            <a href="https://blog.jquery.com/2021/03/02/jquery-3-6-0-released/"
                               title="Permalink to jQuery 3.6.0 Released!" rel="bookmark">jQuery 3.6.0 Released!</a>
                        </h1>

                        <div class="entry-posted">
                            <span class="sep">Posted on </span><a
                                href="https://blog.jquery.com/2021/03/02/jquery-3-6-0-released/" title="12:53 pm"
                                rel="bookmark">
                            <time class="entry-date" datetime="2021-03-02T12:53:17-05:00" pubdate>March 2, 2021</time>
                        </a><span class="by-author"> <span class="sep"> by </span> <span class="author vcard"><a
                                class="url fn n" href="https://blog.jquery.com/author/timmywil/"
                                title="View all posts by Timmy Willison" rel="author">Timmy Willison</a></span></span>
                        </div>
                    </header>

                    <div class="entry-content">

                        <div class="wp-block-group">
                            <div class="wp-block-group__inner-container">
                                <p>jQuery 3.6.0 has been released! In jQuery 3.5.0, the major change was a <a
                                        href="https://blog.jquery.com/2020/04/10/jquery-3-5-0-released/">security fix
                                    for the html prefilter</a>. This release does not include a security fix, but does
                                    have some good bug fixes and improvements. We still have our eyes on a jQuery 4.0
                                    release, but until then we will continue to support the 3.x branch and address
                                    important issues.</p>


                                <p>As usual, the release is available on <a
                                        href="https://code.jquery.com/jquery-3.5.0.js">our cdn</a> and the npm package
                                    manager. Other third party CDNs will probably have it soon as well, but remember
                                    that we don&#8217;t control their release schedules and they will need some time.
                                    Here are the highlights for jQuery 3.6.0:</p>


                                <h3>Returning JSON even for JSONP errors</h3>


                                <p>You may have guessed from the minor version that a feature snuck into this release.
                                    In previous versions, when a JSONP request responded with an error, often the
                                    response was still an executable script. We&#8217;ve changed the default behavior to
                                    try and execute the response in this situation. Normal scripts will still be skipped
                                    when an error is encountered. See <a
                                            href="https://github.com/jquery/jquery/issues/4771">gh-4771</a> for more
                                    information.</p>


                                <h3>Fixes</h3>


                                <p>One bug worth highlighting has to do with <a
                                        href="https://github.com/jquery/jquery/issues/4382">redirecting focus to another
                                    element in a focus handler</a>. Take this example where a focus handler is triggered
                                    inside another focus handler:</p>


                                <pre class="wp-block-preformatted">elem1.on( "focus", function() {
  elem2.trigger( "focus" );
} );</pre>


                                <p>Due to their synchronous nature everywhere outside of IE, a fix added in 3.4.0 to
                                    leverage native events caused the native <code>.focus()</code> method to be called
                                    last for the initial element, making it steal the focus back. While the code
                                    continues to leverage native focus and blur events, we were able to fix this by
                                    aligning even more with native methods and only propagating the last focus event up
                                    the DOM tree.</p>


                                <p>Other bug fixes and improvements include a fix for <a
                                        href="https://github.com/jquery/jquery/issues/4529">retrieving dimensions on
                                    table rows in Firefox</a>, a fix for <a
                                        href="https://github.com/jquery/jquery/issues/4417">a crash in Chrome when a
                                    focusout event was triggered on a removed element</a>, several improvements to some
                                    tests, and more. You&#8217;ll find the full changelog below. </p>


                                <h2>Upgrading</h2>


                                <p>Aside from the change to no longer ensure XHTML-compliant tags for you, we do not
                                    expect other compatibility issues when upgrading from a jQuery 3.0+ version. To
                                    upgrade, have a look at the new <a href="https://jquery.com/upgrade-guide/3.5/">3.5
                                        Upgrade Guide</a>. If you haven’t yet upgraded to jQuery 3+, first have a look
                                    at the <a href="https://jquery.com/upgrade-guide/3.0/">3.0 Upgrade Guide</a>.</p>


                                <p>The <a
                                        href="https://github.com/jquery/jquery-migrate#migrate-older-jquery-code-to-jquery-30">jQuery
                                    Migrate plugin</a> will help you to identify compatibility issues in your code.
                                    Please try out this new release and <a
                                            href="https://github.com/jquery/jquery/issues">let us know about any issues
                                        you experienced</a>. </p>


                                <p>If you can&#8217;t yet upgrade to 3.5+, Daniel Ruf has kindly provided <a
                                        href="https://github.com/DanielRuf/snyk-js-jquery-565129">patches for previous
                                    jQuery versions</a>.</p>


                                <h2>Download</h2>


                                <p>You can get the files from the jQuery CDN, or link to them directly:</p>


                                <p><a href="https://code.jquery.com/jquery-3.6.0.js">https://code.jquery.com/jquery-3.6.0.js</a>
                                </p>


                                <p><a href="https://code.jquery.com/jquery-3.6.0.min.js">https://code.jquery.com/jquery-3.6.0.min.js</a>
                                </p>


                                <p>You can also get this release from npm:</p>


                                <p><code>npm install jquery@3.6.0</code></p>


                                <h3>Slim build</h3>


                                <p>Sometimes you don&#8217;t need ajax, or you prefer to use one of the many standalone
                                    libraries that focus on ajax requests. And often it is simpler to use a combination
                                    of CSS and class manipulation for web animations. Along with the regular version of
                                    jQuery that includes the ajax and effects modules, we&#8217;ve released a &#8220;slim&#8221;
                                    version that excludes these modules. The size of jQuery is very rarely a load
                                    performance concern these days, but the slim build is about 6k gzipped bytes smaller
                                    than the regular version. These files are also available in the npm package and on
                                    the CDN:</p>


                                <p><a href="https://code.jquery.com/jquery-3.6.0.slim.js">https://code.jquery.com/jquery-3.6.0.slim.js</a>
                                </p>


                                <p><a href="https://code.jquery.com/jquery-3.6.0.slim.min.js">https://code.jquery.com/jquery-3.6.0.slim.min.js</a>
                                </p>


                                <p>These updates are already available as the current versions on npm and Bower.
                                    Information on all the ways to get jQuery is available at <a
                                            href="https://jquery.com/download/">https://jquery.com/download/</a>. Public
                                    CDNs receive their copies today, please give them a few days to post the files. If
                                    you’re anxious to get a quick start, use the files on our CDN until they have a
                                    chance to update.</p>


                                <h2>Thanks</h2>


                                <p>Thank you to all of you who participated in this release by submitting patches,
                                    reporting bugs, or testing, including <a href="https://github.com/fras2560">Dallas
                                        Fraser</a>, <a href="https://github.com/mgol">Michal Golebiowski-Owczarek</a>,
                                    <a href="https://github.com/wonseop">Wonseop Kim</a>, <a
                                            href="https://github.com/wonhyoung05">Wonhyoung Park</a>, <a
                                            href="https://github.com/beatrizrezener">Beatriz Rezener</a>, <a
                                            href="https://github.com/natipo">Natalia Sroka</a>, and the whole jQuery
                                    team.</p>


                                <h2>Changelog</h2>


                                <p><strong>Full changelog: </strong><a
                                        href="https://github.com/jquery/jquery/compare/3.5.1...3.6.0">3.6.0</a></p>
                            </div>
                        </div>


                        <h3>Ajax</h3>


                        <ul>
                            <li>Execute JSONP error script responses (<a
                                    href="https://github.com/jquery/jquery/issues/4771">#4771</a>, <a
                                    href="https://github.com/jquery/jquery/commit/3bae54aa50b7485b1f18501dff038a61507012a5">3bae54aa</a>)
                            </li>
                        </ul>


                        <h3>Core</h3>


                        <ul>
                            <li>Report browser errors in parseXML (<a
                                    href="https://github.com/jquery/jquery/issues/4784">#4784</a>, <a
                                    href="https://github.com/jquery/jquery/commit/54d98835b6e35e3dcb92a9f30bcac82ad2039487">54d98835</a>)
                            </li>
                            <li>Bring back QtWebKit support for jQuery 3.x (<a
                                    href="https://github.com/jquery/jquery/issues/4756">#4756</a>, <a
                                    href="https://github.com/jquery/jquery/commit/bf1430a7e6a69129a28608695a747f30eb7c4e22">bf1430a7</a>)
                            </li>
                        </ul>


                        <h3>Deferred</h3>


                        <ul>
                            <li>Rename master to primary (<a
                                    href="https://github.com/jquery/jquery/commit/15b62a2eb5d65ff4c830d8a5c7629d30f852cbb1">15b62a2e</a>)
                            </li>
                        </ul>


                        <h3>Dimensions</h3>


                        <ul>
                            <li>Modify reliableTrDimensions support test to account for FF (<a
                                    href="https://github.com/jquery/jquery/issues/4529">#4529</a>, <a
                                    href="https://github.com/jquery/jquery/commit/bcd40aa7a34900cca3ca646258903f3069e9bd59">bcd40aa7</a>)
                            </li>
                        </ul>


                        <h3>Docs</h3>


                        <ul>
                            <li>Change JS Foundation mentions to OpenJS Foundation (<a
                                    href="https://github.com/jquery/jquery/commit/db43ef0bff853bce76f44617aa7219a364d9b176">db43ef0b</a>)
                            </li>
                        </ul>


                        <h3>Event</h3>


                        <ul>
                            <li>Make focus re-triggering not focus the original element back (<a
                                    href="https://github.com/jquery/jquery/issues/4382">#4382</a>, <a
                                    href="https://github.com/jquery/jquery/commit/2fadbc0a9839893f434cfca42587593c8794375d">2fadbc0a</a>)
                            </li>
                            <li>Don&#8217;t crash if an element is removed on blur (<a
                                    href="https://github.com/jquery/jquery/issues/4417">#4417</a>, <a
                                    href="https://github.com/jquery/jquery/commit/aaf9c55ad252ed2241430f5e58e2ee448c3a6bb2">aaf9c55a</a>)
                            </li>
                            <li>Remove the event.which shim (<a href="https://github.com/jquery/jquery/issues/3235">#3235</a>,
                                <a href="https://github.com/jquery/jquery/commit/2bf9793efc9ff6ab5370119673744e9b43e3b872">2bf9793e</a>)
                            </li>
                        </ul>


                        <h3>Selector</h3>


                        <ul>
                            <li>Update Sizzle from 2.3.5 to 2.3.6 (<a
                                    href="https://github.com/jquery/jquery/issues/4782">#4782</a>, <a
                                    href="https://github.com/jquery/jquery/commit/165487406f79555982d7ba0d2d34835f5ea72a83">16548740</a>)
                            </li>
                        </ul>


                        <h3>Support</h3>


                        <ul>
                            <li>ensure display is set to block for the support div (#4844) (<a
                                    href="https://github.com/jquery/jquery/issues/4832">#4832</a>, <a
                                    href="https://github.com/jquery/jquery/commit/f8bdb1270a3d6294201bc55400aaa2e414efb14a">f8bdb127</a>)
                            </li>
                        </ul>


                        <h3>Tests</h3>


                        <ul>
                            <li>Fix tests for not auto-executing scripts without dataType (<a
                                    href="https://github.com/jquery/jquery/commit/7298e04faee8b01b335148cf5b91f84af9cf5826">7298e04f</a>)
                            </li>
                            <li>Skip the jQuery.parseXML error reporting test in Legacy Edge (<a
                                    href="https://github.com/jquery/jquery/commit/bf06dd477a1bf829c68d64c7de9e2262ac8973bb">bf06dd47</a>)
                            </li>
                            <li>Fix the jQuery.parseXML error reporting test (<a
                                    href="https://github.com/jquery/jquery/commit/1ec36332fca66d97a5c3bc7ac1b70692429f5be6">1ec36332</a>)
                            </li>
                            <li>Recognize callbacks with dots in the Node.js mock server (<a
                                    href="https://github.com/jquery/jquery/commit/4c572a7fee5cb45fd6f328933eee7c95e7de51cd">4c572a7f</a>)
                            </li>
                            <li>Skip the &#8220;jQuery.ajax() on unload&#8221; test in Safari (<a
                                    href="https://github.com/jquery/jquery/commit/4f016c642cb7521d5df7e35058975353b58095fc">4f016c64</a>)
                            </li>
                            <li>Remove an unused local variable (<a
                                    href="https://github.com/jquery/jquery/commit/beea433d3325053334f1073bb2b65fb5c28b910b">beea433d</a>)
                            </li>
                            <li>Remove remaining obsolete jQuery.cache references (<a
                                    href="https://github.com/jquery/jquery/commit/5e028c76f4486ea0814ca71f75459ed934dd13eb">5e028c76</a>)
                            </li>
                            <li>Remove obsolete jQuery data tests (<a
                                    href="https://github.com/jquery/jquery/commit/8ad78cdbc40efd8db01b0a2e6f7e58b8aaf0c977">8ad78cdb</a>)
                            </li>
                        </ul>
                    </div>
                </article>

                <article id="post-4368"
                         class="post-4368 post type-post status-publish format-standard hentry category-jquery tag-jquery-updates">
                    <header class="entry-header">
                        <div class="entry-meta">
                            <span class="category"><a href="https://blog.jquery.com/category/jquery/">jQuery</a></span>
                        </div>
                        <h1 class="entry-title">
                            <a href="https://blog.jquery.com/2020/05/04/jquery-3-5-1-released-fixing-a-regression/"
                               title="Permalink to jQuery 3.5.1 Released: Fixing a Regression" rel="bookmark">jQuery
                                3.5.1 Released: Fixing a Regression</a>
                        </h1>

                        <div class="entry-posted">
                            <span class="sep">Posted on </span><a
                                href="https://blog.jquery.com/2020/05/04/jquery-3-5-1-released-fixing-a-regression/"
                                title="5:57 pm" rel="bookmark">
                            <time class="entry-date" datetime="2020-05-04T17:57:51-05:00" pubdate>May 4, 2020</time>
                        </a><span class="by-author"> <span class="sep"> by </span> <span class="author vcard"><a
                                class="url fn n" href="https://blog.jquery.com/author/timmywil/"
                                title="View all posts by Timmy Willison" rel="author">Timmy Willison</a></span></span>
                        </div>
                    </header>

                    <div class="entry-content">

                        <div class="wp-block-group">
                            <div class="wp-block-group__inner-container">
                                <div class="wp-block-group__inner-container">
                                    <p>I&#8217;ve never gotten to say this on a jQuery release, but May the 4th be with
                                        you! A short time ago in a galaxy exactly like this one, we released jQuery
                                        3.5.0. We have a quick fix for a regression in that release.</p>


                                    <p>Specifically, we had changed our internal data object to use <code>Object.create(
                                        null )</code> instead of a plain object (<code>{}</code>). We did that to
                                        prevent collisions with keys on <code>Object.prototype</code> properties.
                                        However, this also meant that users (especially plugins) could no longer check
                                        what was in jQuery data with the native <code>.hasOwnProperty()</code> method,
                                        and it broke some code. We&#8217;ve reverted that change, but plan to put it
                                        back in jQuery 4.0. This change is the only code change in this release. Other
                                        changes include some minor updates to our docs and build system. </p>


                                    <h2>Security fixes in 3.5.0</h2>


                                    <p> jQuery 3.5.0 included fixes for two security issues in jQuery&#8217;s DOM
                                        manipulation methods, as in <code>.html()</code>, <code>.append()</code>, and
                                        the others. Security advisories for both of these issues have been published on
                                        GitHub. While we provided all of the details on the first issue in the <a
                                                href="https://blog.jquery.com/2020/04/10/jquery-3-5-0-released/">jQuery
                                            3.5.0 blog post</a>, we did not provide all of the details on the second and
                                        would like to do that in this post.</p>


                                    <p>The second issue was very similar to the first. It was an XSS vulnerability that
                                        had to do with passing <code>&lt;option></code> elements to jQuery&#8217;s DOM
                                        manipulation methods. Essentially, we&#8217;re using a regex to wrap <code>&lt;option></code>
                                        elements with <code>&lt;select></code> elements to ensure those elements get
                                        parsed correctly in old IE (IE &lt;= 9 replaces any <code>&lt;option></code>
                                        tags with their contents when inserted outside of a <code>&lt;select></code>
                                        element).</p>


                                    <p>Our fix is to only apply this code where it is needed. Fortunately, because of
                                        the different parsing behavior in IE9, we can keep the fix in IE9 without
                                        exposing it to the same vulnerability as other browsers. Please upgrade when you
                                        get a chance to avoid these vulnerabilities. </p>


                                    <h2>Upgrading</h2>


                                    <p>If you haven&#8217;t yet upgraded to jQuery 3.5, have a look at the <a
                                            href="https://jquery.com/upgrade-guide/3.5/">3.5 Upgrade Guide</a>. If you
                                        haven’t yet upgraded to jQuery 3+, first have a look at the <a
                                                href="https://jquery.com/upgrade-guide/3.0/">3.0 Upgrade Guide</a>.
                                        Also, the <a
                                                href="”https://github.com/jquery/jquery-migrate#migrate-older-jquery-code-to-jquery-30”">jQuery
                                            Migrate plugin</a> will help you to identify compatibility issues in your
                                        code.</p>


                                    <p>If you can&#8217;t yet upgrade to 3.5+, Daniel Ruf has kindly provided <a
                                            href="https://github.com/DanielRuf/snyk-js-jquery-565129">patches for
                                        previous jQuery versions</a>. Please try out this new release and <a
                                            href="https://github.com/jquery/jquery/issues">let us know about any issues
                                        you experienced</a>. </p>


                                    <h2>Download</h2>


                                    <p> You can get the files from the jQuery CDN, or link to them directly: </p>


                                    <p><a href="https://code.jquery.com/jquery-3.5.1.js">https://code.jquery.com/jquery-3.5.1.js</a>
                                    </p>


                                    <p><a href="https://code.jquery.com/jquery-3.5.1.min.js">https://code.jquery.com/jquery-3.5.1.min.js</a>
                                    </p>


                                    <p>You can also get this release from npm:</p>


                                    <p><code>npm install jquery@3.5.1</code></p>


                                    <h3>Slim build</h3>


                                    <p>Sometimes you don&#8217;t need ajax, or you prefer to use one of the many
                                        standalone libraries that focus on ajax requests. And often it is simpler to use
                                        a combination of CSS and class manipulation for web animations. Along with the
                                        regular version of jQuery that includes the ajax and effects modules, we&#8217;ve
                                        released a &#8220;slim&#8221; version that excludes these modules. The size of
                                        jQuery is very rarely a load performance concern these days, but the slim build
                                        is about 6k gzipped bytes smaller than the regular version. These files are also
                                        available in the npm package and on the CDN:</p>


                                    <p><a href="https://code.jquery.com/jquery-3.5.1.slim.js">https://code.jquery.com/jquery-3.5.1.slim.js</a>
                                    </p>


                                    <p><a href="https://code.jquery.com/jquery-3.5.1.slim.min.js">https://code.jquery.com/jquery-3.5.1.slim.min.js</a>
                                    </p>


                                    <p>These updates are already available as the current versions on npm and Bower.
                                        Information on all the ways to get jQuery is available at <a
                                                href="https://jquery.com/download/">https://jquery.com/download/</a>.
                                        Public CDNs receive their copies today, please give them a few days to post the
                                        files. If you’re anxious to get a quick start, use the files on our CDN until
                                        they have a chance to update.</p>


                                    <h2>Thanks</h2>


                                    <p>Thank you to all of you who participated in this release by submitting patches,
                                        reporting bugs, or testing, including <a href="https://github.com/pgrimaud">Pierre
                                            Grimaud</a>, <a href="https://github.com/mgol">Michal
                                            Golebiowski-Owczarek</a>, <a href="https://github.com/edg2s">Ed S</a>, <a
                                                href="https://github.com/vanillajonathan">vanillajonathan</a>, and the
                                        whole jQuery team.</p>


                                    <h2>Changelog</h2>


                                    <p><strong>Full changelog: </strong><a
                                            href="https://github.com/jquery/jquery/compare/3.5.0...3.5.1">3.5.1</a></p>


                                    <h3>Build</h3>


                                    <ul>
                                        <li>Test on Node.js 14, stop testing on Node.js 8 &amp; 13 (<a
                                                href="https://github.com/jquery/jquery/commit/205dd134b93c42d53e19078846a972f33fc9d8eb">205dd134</a>)
                                        </li>
                                        <li>Enable reportUnusedDisableDirectives in ESLint (<a
                                                href="https://github.com/jquery/jquery/commit/b21d6710cf2d9e227396fe8d78b262dfeb8b3c28">b21d6710</a>)
                                        </li>
                                        <li>Updating the 3.x-stable version to 3.5.1-pre. (<a
                                                href="https://github.com/jquery/jquery/commit/898784ab849ccb675039bb6e603cfa2555ff5831">898784ab</a>)
                                        </li>
                                    </ul>


                                    <h3>Data</h3>


                                    <ul>
                                        <li>Make the data object a regular object again (<a
                                                href="https://github.com/jquery/jquery/issues/4665">#4665</a>, <a
                                                href="https://github.com/jquery/jquery/commit/65e909844c2d064606217b47e92eff12ebdb79de">65e90984</a>)
                                        </li>
                                    </ul>


                                    <h3>Docs</h3>


                                    <ul>
                                        <li>Fix typos (<a
                                                href="https://github.com/jquery/jquery/commit/ea3766c08156541617ca3d15755a9ade8fdedcc0">ea3766c0</a>)
                                        </li>
                                        <li>Update the link to the jsdom repository (<a
                                                href="https://github.com/jquery/jquery/commit/f7fed7eec235fe6e1f55c5ad9c7193a507bf5713">f7fed7ee</a>)
                                        </li>
                                        <li>Use https for hyperlinks in README (<a
                                                href="https://github.com/jquery/jquery/commit/763dd3fefa504a496c2fbdb94c1c04150fba07e6">763dd3fe</a>)
                                        </li>
                                    </ul>


                                    <h3>Tests</h3>


                                    <ul>
                                        <li>Workaround failures in recent XSS tests in iOS 8 &#8211; 12 (<a
                                                href="https://github.com/jquery/jquery/commit/ea2d0d50c06e8d77ea3fdfa32fa0bfe6f91418d2">ea2d0d50</a>)
                                        </li>
                                        <li>Add tests for recently fixed manipulation XSS issues (<a
                                                href="https://github.com/jquery/jquery/commit/58a8e87979d68f001de9e52c00601b805bab303d">58a8e879</a>)
                                        </li>
                                        <li>Cleanup `window` &amp; `document` handlers in a new event test (<a
                                                href="https://github.com/jquery/jquery/commit/c1c0598d8fde1bb66a257d7e993dd940aa4f4ce7">c1c0598d</a>)
                                        </li>
                                        <li>Fix flakiness in the &#8220;jQuery.ajax() &#8211; JSONP &#8211; Same Domain&#8221;
                                            test (<a
                                                    href="https://github.com/jquery/jquery/commit/46ba70c5e82cf55965ffe8825ec9247066a01ddd">46ba70c5</a>)
                                        </li>
                                    </ul>
                                </div>
                            </div>
                        </div>
                    </div>
                </article>

                <article id="post-4340"
                         class="post-4340 post type-post status-publish format-standard hentry category-jquery tag-jquery-updates">
                    <header class="entry-header">
                        <div class="entry-meta">
                            <span class="category"><a href="https://blog.jquery.com/category/jquery/">jQuery</a></span>
                        </div>
                        <h1 class="entry-title">
                            <a href="https://blog.jquery.com/2020/04/10/jquery-3-5-0-released/"
                               title="Permalink to jQuery 3.5.0 Released!" rel="bookmark">jQuery 3.5.0 Released!</a>
                        </h1>

                        <div class="entry-posted">
                            <span class="sep">Posted on </span><a
                                href="https://blog.jquery.com/2020/04/10/jquery-3-5-0-released/" title="11:34 am"
                                rel="bookmark">
                            <time class="entry-date" datetime="2020-04-10T11:34:14-05:00" pubdate>April 10, 2020</time>
                        </a><span class="by-author"> <span class="sep"> by </span> <span class="author vcard"><a
                                class="url fn n" href="https://blog.jquery.com/author/timmywil/"
                                title="View all posts by Timmy Willison" rel="author">Timmy Willison</a></span></span>
                        </div>
                    </header>

                    <div class="entry-content">

                        <div class="wp-block-group">
                            <div class="wp-block-group__inner-container">
                                <div class="wp-block-group__inner-container">
                                    <p>jQuery 3.5.0 has been released! As usual, the release is available on <a
                                            href="https://code.jquery.com/jquery-3.5.0.js">our cdn</a> and the npm
                                        package manager. Other third party CDNs will probably have it soon as well, but
                                        remember that we don&#8217;t control their release schedules and they will need
                                        some time.</p>


                                    <p>We hope you&#8217;re staying healthy and safe while so many of us are stuck at
                                        home. With a virus ravaging the planet, we realize that jQuery may not be a high
                                        priority for you or the sites you manage. When you do have a moment, we
                                        recommend that you review this new version and upgrade. </p>


                                    <h2>Security Fix</h2>


                                    <p> The main change in this release is a security fix, and it&#8217;s possible you
                                        will need to change your own code to adapt. Here&#8217;s why: jQuery used a
                                        regex in its <a href="https://api.jquery.com/jQuery.htmlPrefilter/"><code>jQuery.htmlPrefilter</code></a>
                                        method to ensure that all closing tags were XHTML-compliant when passed to
                                        methods. For example, this prefilter ensured that a call like <code>jQuery("&lt;div
                                            class='hot' /&gt;")</code> is actually converted to <code>jQuery("&lt;div
                                            class='hot'&gt;&lt;/div&gt;")</code>. Recently, an issue was reported that
                                        demonstrated the regex could introduce a cross-site scripting (XSS)
                                        vulnerability.</p>


                                    <p>The HTML parser in jQuery &lt;=3.4.1 usually did the right thing, but there were
                                        edge cases where parsing would have unintended consequences. The jQuery team
                                        agreed it was necessary to fix this in a minor release, even though some code
                                        relies on the previous behavior and may break. The
                                        <code>jQuery.htmlPrefilter</code> function does not use a regex in 3.5.0 and
                                        passes the string through unchanged.</p>


                                    <p>If you absolutely need the old behavior, using the latest version of the <a
                                            href="https://github.com/jquery/jquery-migrate">jQuery migrate plugin</a>
                                        provides a function to restore the old <code>jQuery.htmlPrefilter</code>. After
                                        including the plugin you can call <code>jQuery.UNSAFE_restoreLegacyHtmlPrefilter()</code>
                                        and jQuery will again ensure XHTML-compliant closing tags.</p>


                                    <p>However, to sanitize user input properly, we also recommend using <a
                                            href="https://github.com/cure53/dompurify">dompurify</a> with the <code>SAFE_FOR_JQUERY</code>
                                        option to sanitize HTML from a user. If you don&#8217;t need the old behavior,
                                        but would still like to sanitize HTML from a user, <a
                                                href="https://github.com/cure53/dompurify">dompurify</a> should be used
                                        <b>without</b> the <code>SAFE_FOR_JQUERY</code> option, starting in jQuery
                                        3.5.0. For more details, please see the <a
                                                href="https://jquery.com/upgrade-guide/3.5/">3.5 Upgrade Guide</a>. </p>


                                    <h2>Features</h2>


                                    <p> With what we call &#8220;positional selectors&#8221; being deprecated and <a
                                            href="https://github.com/jquery/sizzle/issues/293">slated for removal in
                                        jQuery 4.0</a>, we&#8217;ve added the last two necessary replacement methods.
                                        Specifically, we&#8217;ve added the <code>.even()</code> and <code>.odd()</code>
                                        methods to replace the <code>:even</code> and <code>:odd</code> selectors. With
                                        these methods in place, we can safely remove these overly complicated selectors
                                        in jQuery 4.0.</p>


                                    <p>Another small feature that we&#8217;ve added to this release is the ability to
                                        add a context to <code>jQuery.globalEval</code>. This was done as part of fixing
                                        <a href="https://github.com/jquery/jquery/issues/4518">a bug with script
                                            execution in iframes</a>. </p>


                                    <h2>Fixes</h2>


                                    <p>One bug worth highlighting is <a
                                            href="https://github.com/jquery/jquery/commit/da3dd85b63c4e3a6a768132c2a83a1a6eec24840">a
                                        bug we fixed in the Ajax script transport</a>. jQuery used to evaluate any
                                        response to a request for a script as a script, which is not always the desired
                                        behavior. This is different than other data types where such a convention was
                                        fine (e.g. in the case of JSON). jQuery 3.5.0 will now only evaluate successful
                                        HTTP responses.</p>


                                    <p>Other bug fixes and improvements include <a
                                            href="https://github.com/jquery/sizzle/pull/453">performance </a><a
                                            href="https://github.com/jquery/sizzle/pull/460">improvements</a> in Sizzle,
                                        support for massive arrays in <a
                                                href="https://github.com/jquery/jquery/issues/4320">jQuery.map</a>, <a
                                                href="https://github.com/jquery/jquery/commit/2f666c1daba43d26d77d9500db09d528bf66fac8">using
                                            the native <code>.flat()</code> method where supported</a>, <a
                                                href="https://github.com/jquery/jquery/commit/36b59c9661b7c24bb0271f813d2a02cac44de81a">a
                                            fix for syntax errors in the AMD modules</a>, several improvements to our
                                        testing infrastructure, and more. You&#8217;ll find the full changelog below.
                                    </p>


                                    <h2>Deprecations</h2>


                                    <p> It wouldn&#8217;t be a jQuery release without some deprecations. In jQuery
                                        3.5.0, we&#8217;ve put <a href="https://github.com/jquery/jquery/pull/4461">jQuery.trim</a>
                                        on the list. JavaScript&#8217;s own <a
                                                href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/trim">String.prototype.trim()</a>
                                        is an easy replacement for it.</p>


                                    <p>We&#8217;ve also put <a href="https://github.com/jquery/jquery/pull/4572">AJAX
                                        event aliases</a> on the list, they can be replaced by <code>.on("ajaxStart",
                                        …)</code> and the like. jQuery Migrate will warn about these now-deprecated
                                        methods, but they&#8217;ll stick around until jQuery 4.0. </p>


                                    <h2>Upgrading</h2>


                                    <p>Aside from the change to no longer ensure XHTML-compliant tags for you, we do not
                                        expect other compatibility issues when upgrading from a jQuery 3.0+ version. To
                                        upgrade, have a look at the new <a href="https://jquery.com/upgrade-guide/3.5/">3.5
                                            Upgrade Guide</a>. If you haven’t yet upgraded to jQuery 3+, first have a
                                        look at the <a href="https://jquery.com/upgrade-guide/3.0/">3.0 Upgrade
                                            Guide</a>.</p>


                                    <p>The <a
                                            href="https://github.com/jquery/jquery-migrate#migrate-older-jquery-code-to-jquery-30">jQuery
                                        Migrate plugin</a> will help you to identify compatibility issues in your code.
                                        Please try out this new release and <a
                                                href="https://github.com/jquery/jquery/issues">let us know about any
                                            issues you experienced</a>. </p>


                                    <p>If you can&#8217;t yet upgrade to 3.5+, Daniel Ruf has kindly provided <a
                                            href="https://github.com/DanielRuf/snyk-js-jquery-565129">patches for
                                        previous jQuery versions</a>.</p>


                                    <h2>Download</h2>


                                    <p>You can get the files from the jQuery CDN, or link to them directly:</p>


                                    <p><a href="https://code.jquery.com/jquery-3.5.0.js">https://code.jquery.com/jquery-3.5.0.js</a>
                                    </p>


                                    <p><a href="https://code.jquery.com/jquery-3.5.0.min.js">https://code.jquery.com/jquery-3.5.0.min.js</a>
                                    </p>


                                    <p>You can also get this release from npm:</p>


                                    <p><code>npm install jquery@3.5.0</code></p>


                                    <h3>Slim build</h3>


                                    <p>Sometimes you don&#8217;t need ajax, or you prefer to use one of the many
                                        standalone libraries that focus on ajax requests. And often it is simpler to use
                                        a combination of CSS and class manipulation for web animations. Along with the
                                        regular version of jQuery that includes the ajax and effects modules, we&#8217;ve
                                        released a &#8220;slim&#8221; version that excludes these modules. The size of
                                        jQuery is very rarely a load performance concern these days, but the slim build
                                        is about 6k gzipped bytes smaller than the regular version. These files are also
                                        available in the npm package and on the CDN:</p>


                                    <p><a href="https://code.jquery.com/jquery-3.5.0.slim.js">https://code.jquery.com/jquery-3.5.0.slim.js</a>
                                    </p>


                                    <p><a href="https://code.jquery.com/jquery-3.5.0.slim.min.js">https://code.jquery.com/jquery-3.5.0.slim.min.js</a>
                                    </p>


                                    <p>These updates are already available as the current versions on npm and Bower.
                                        Information on all the ways to get jQuery is available at <a
                                                href="https://jquery.com/download/">https://jquery.com/download/</a>.
                                        Public CDNs receive their copies today, please give them a few days to post the
                                        files. If you’re anxious to get a quick start, use the files on our CDN until
                                        they have a chance to update.</p>


                                    <h2>Thanks</h2>


                                    <p>Thank you to all of you who participated in this release by submitting patches,
                                        reporting bugs, or testing, including <a href="https://github.com/aelafifi">Ahmed
                                            S. El-Afifi</a>,
                                        <a href="https://github.com/mgol">Michal Golebiowski-Owczarek</a>,
                                        <a href="https://github.com/wonseop">Wonseop Kim</a>,
                                        <a href="https://github.com/dmethvin">Dave Methvin</a>,
                                        <a href="https://github.com/ShashankaNataraj">Shashanka Nataraj</a>,
                                        <a href="https://github.com/patocallaghan">Pat O&#8217;Callaghan</a>,
                                        <a href="https://github.com/skrobinson">Sean Robinson</a>,
                                        <a href="https://github.com/coliff">Christian Oliff</a>,
                                        <a href="https://github.com/wenz">Christian Wenz</a>, and the whole jQuery team.
                                    </p>


                                    <p>We also would like to thank Masato Kinugawa for helping us identify and fix the
                                        security-related issues in this release. </p>


                                    <h2>Changelog</h2>


                                    <p><strong>Full changelog: </strong><a
                                            href="https://github.com/jquery/jquery/compare/3.4.1...3.5.0">3.5.0</a></p>
                                </div>
                            </div>
                        </div>


                        <h3>Ajax</h3>


                        <ul>
                            <li>Do not execute scripts for unsuccessful HTTP responses (<a
                                    href="https://github.com/jquery/jquery/issues/4250">#4250</a>, <a
                                    href="https://github.com/jquery/jquery/issues/4655">#4655</a>, <a
                                    href="https://github.com/jquery/jquery/commit/da3dd85b63c4e3a6a768132c2a83a1a6eec24840">da3dd85b</a>)
                            </li>
                            <li>Overwrite s.contentType with content-type header value, if any (<a
                                    href="https://github.com/jquery/jquery/issues/4119">#4119</a>, <a
                                    href="https://github.com/jquery/jquery/commit/065143c2e93512eb0c82d1b344b71d06eb7cf01c">065143c2</a>)
                            </li>
                            <li>Deprecate AJAX event aliases, inline event/alias into deprecated (<a
                                    href="https://github.com/jquery/jquery/commit/7a3cf9c03cc34d5493383852f94d96fe4a3486ef">7a3cf9c0</a>)
                            </li>
                        </ul>


                        <h3>Build</h3>


                        <ul>
                            <li>Resolve Travis config warnings (<a
                                    href="https://github.com/jquery/jquery/commit/7506c9ca62a2f3ef773e19385918c31e9d62d412">7506c9ca</a>)
                            </li>
                            <li>Enable ESLint one-var rule for var declarations in browser code (<a
                                    href="https://github.com/jquery/jquery/commit/0fdfdd829000bffc37e4d32683a8881121faa767">0fdfdd82</a>)
                            </li>
                            <li>Test the no-Sizzle build on Travis (<a
                                    href="https://github.com/jquery/jquery/commit/362075aeaa269f27ba2c2832026f211c2767d010">362075ae</a>)
                            </li>
                            <li>Update .mailmap &amp; AUTHORS.txt (<a
                                    href="https://github.com/jquery/jquery/commit/19f2dcbaa352e2607ea300a5f49f2dbbcb7986bf">19f2dcba</a>)
                            </li>
                            <li>Tests: Fix custom build tests, verify on Travis; name Travis jobs (<a
                                    href="https://github.com/jquery/jquery/commit/d525ae3416417186330bb3d14133df84509803a0">d525ae34</a>)
                            </li>
                            <li>Lint the minified jQuery file as well (<a
                                    href="https://github.com/jquery/jquery/issues/3075">#3075</a>, <a
                                    href="https://github.com/jquery/jquery/commit/37df5cdf4e79d81448706c6e7d85d1fdaff48a1e">37df5cdf</a>)
                            </li>
                            <li>Make Karma work in AMD mode (<a
                                    href="https://github.com/jquery/jquery/commit/46c284b12b4ac89727b1b7a0d5497bc9149cc2af">46c284b1</a>)
                            </li>
                            <li>Create a `grunt custom:slim` alias for the Slim build (<a
                                    href="https://github.com/jquery/jquery/commit/4cbdc745cc32f0fb8865139df7caad075b05d2b8">4cbdc745</a>)
                            </li>
                            <li>Run tests on Travis only on browsers defined in the config (<a
                                    href="https://github.com/jquery/jquery/commit/471b004326bec0ee9ed8dd9ca1d3d58510d280f3">471b0043</a>)
                            </li>
                            <li>Run tests on Firefox ESR as well (<a
                                    href="https://github.com/jquery/jquery/commit/0a73b94a21d4c30b5598b95923dc73d640e07b99">0a73b94a</a>)
                            </li>
                            <li>Run tests on Node.js 13 in addition to 8, 10 &amp; 12 (<a
                                    href="https://github.com/jquery/jquery/commit/64c1fcc1cda975e18679e74368347854d475be6f">64c1fcc1</a>)
                            </li>
                            <li>Drop workarounds for Node.js 6 in Gruntfile.js (<a
                                    href="https://github.com/jquery/jquery/commit/9f4204ecad9daffbc952cc2e52f8978f0dead39c">9f4204ec</a>)
                            </li>
                            <li>Run tests on Travis on FirefoxHeadless as well (<a
                                    href="https://github.com/jquery/jquery/commit/ad3c2efa10a9d89506f86ef22fe477fd7efad6d5">ad3c2efa</a>)
                            </li>
                            <li>Require strict mode in Node.js scripts via ESLint (<a
                                    href="https://github.com/jquery/jquery/commit/ac2da4e6b96f5b583c4dfe148a9a9e870465fc69">ac2da4e6</a>)
                            </li>
                            <li>Support jquery-release &#8211;dry-run flag (<a
                                    href="https://github.com/jquery/jquery/commit/c7a5e1bd797809f2aab1214d5f90ec94da9fdbd6">c7a5e1bd</a>)
                            </li>
                            <li>Stop copying src/core.js to dist on release (<a
                                    href="https://github.com/jquery/jquery/issues/4489">#4489</a>, <a
                                    href="https://github.com/jquery/jquery/commit/279d2e979ebb26d846036e0b02fd6070a013ed3b">279d2e97</a>)
                            </li>
                            <li>ESLint: forbid unused function parameters (<a
                                    href="https://github.com/jquery/jquery/commit/d7e13f128a4965f5d2bf510dc2314faa266f9dd7">d7e13f12</a>)
                            </li>
                            <li>Fix the regex parsing AMD var-modules (#4389) (<a
                                    href="https://github.com/jquery/jquery/commit/36b59c9661b7c24bb0271f813d2a02cac44de81a">36b59c96</a>)
                            </li>
                        </ul>


                        <h3>Core</h3>


                        <ul>
                            <li>Ajax: Align nonce &amp; global with master, fix an AMD issue (<a
                                    href="https://github.com/jquery/jquery/commit/22bf701fe1b21d883f58fd46c4709315825118ca">22bf701f</a>)
                            </li>
                            <li>Fire iframe script in its context, add doc param in globalEval (<a
                                    href="https://github.com/jquery/jquery/issues/4518">#4518</a>, <a
                                    href="https://github.com/jquery/jquery/commit/3dedc3f2d46d38296f6867ca69c970e512f87e16">3dedc3f2</a>)
                            </li>
                            <li>Deprecate jQuery.trim (<a href="https://github.com/jquery/jquery/issues/4363">#4363</a>,
                                <a href="https://github.com/jquery/jquery/commit/56e73e0c4ae908c853c986aadeda7cfcf2df4f6f">56e73e0c</a>)
                            </li>
                            <li>Use Array.prototype.flat where supported (<a
                                    href="https://github.com/jquery/jquery/issues/4320">#4320</a>, <a
                                    href="https://github.com/jquery/jquery/commit/2f666c1daba43d26d77d9500db09d528bf66fac8">2f666c1d</a>)
                            </li>
                            <li>Implement .even() &amp; .odd() to replace POS :even &amp; :odd (<a
                                    href="https://github.com/jquery/jquery/commit/409cbda7fe85d7026aaa4423d3384f288eed5be2">409cbda7</a>)
                            </li>
                        </ul>


                        <h3>CSS</h3>


                        <ul>
                            <li>Workaround buggy getComputedStyle on table rows in IE/Edge (<a
                                    href="https://github.com/jquery/jquery/issues/4490">#4490</a>, <a
                                    href="https://github.com/jquery/jquery/commit/6d31477a35bfa70d209522b5e8c7e948b6c4d599">6d31477a</a>)
                            </li>
                        </ul>


                        <h3>Data</h3>


                        <ul>
                            <li>Event:Manipulation: Prevent collisions with Object.prototype (<a
                                    href="https://github.com/jquery/jquery/issues/3256">#3256</a>, <a
                                    href="https://github.com/jquery/jquery/commit/413ff796ae16611777581e7657cb5ca76c3cfb1d">413ff796</a>)
                            </li>
                        </ul>


                        <h3>Docs</h3>


                        <ul>
                            <li>Update links to EdgeHTML issues to go through Web Archive (<a
                                    href="https://github.com/jquery/jquery/commit/d72faced11dc9f785dba5c24c97b045539cbce9c">d72faced</a>)
                            </li>
                            <li>Convert link to Homebrew from HTTP to HTTPS (<a
                                    href="https://github.com/jquery/jquery/commit/ff5a43eb933b8a5668f0841fb2a0c952ad00a700">ff5a43eb</a>)
                            </li>
                        </ul>


                        <h3>Effect</h3>


                        <ul>
                            <li>Fix a unnecessary conditional statement in .stop() (<a
                                    href="https://github.com/jquery/jquery/issues/4374">#4374</a>, <a
                                    href="https://github.com/jquery/jquery/commit/30f5c6c3ee3a128c7b75a771d4cb8a5b750ae17d">30f5c6c3</a>)
                            </li>
                        </ul>


                        <h3>Event</h3>


                        <ul>
                            <li>Use only one focusin/out handler per matching window &amp; document (<a
                                    href="https://github.com/jquery/jquery/issues/4652">#4652</a>, <a
                                    href="https://github.com/jquery/jquery/commit/9e15d6b469556eccfa607c5ecf53b20c84529125">9e15d6b4</a>)
                            </li>
                            <li>Only attach events to objects that accept data &#8211; for real (<a
                                    href="https://github.com/jquery/jquery/issues/4397">#4397</a>, <a
                                    href="https://github.com/jquery/jquery/commit/f36f6abbb3e9e4d7d3729272ffb10b4c2c382919">f36f6abb</a>)
                            </li>
                        </ul>


                        <h3>Manipulation</h3>


                        <ul>
                            <li>Skip the select wrapper for option elements</li>
                            <li>Make jQuery.htmlPrefilter an identity function (<a
                                    href="https://github.com/jquery/jquery/commit/1d61fd9407e6fbe82fe55cb0b938307aa0791f77">1d61fd94</a>)
                            </li>
                        </ul>


                        <h3>Offset</h3>


                        <ul>
                            <li>Send px-ed strings to .css() (<a
                                    href="https://github.com/jquery/jquery/commit/57038faebc6ece5bd666c28303f8a91ff59153eb">57038fae</a>)
                            </li>
                        </ul>


                        <h3>Selector</h3>


                        <ul>
                            <li>Update Sizzle from 2.3.4 to 2.3.5 (<a
                                    href="https://github.com/jquery/jquery/issues/4424">#4424</a>, <a
                                    href="https://github.com/jquery/jquery/issues/4435">#4435</a>, <a
                                    href="https://github.com/jquery/jquery/issues/4441">#4441</a>, <a
                                    href="https://github.com/jquery/jquery/issues/4453">#4453</a>, <a
                                    href="https://github.com/jquery/jquery/commit/04bf577e2f961c9dde85ddadc77f71bc7bc671cc">04bf577e</a>)
                            </li>
                            <li>Make selector-native&#8217;s isXMLDoc recognize HTML-embedded SVG (<a
                                    href="https://github.com/jquery/jquery/commit/2d9d6d5b476b9cd1c546592817ef8e96b32e5792">2d9d6d5b</a>)
                            </li>
                        </ul>


                        <h3>Tests</h3>


                        <ul>
                            <li>Blacklist one focusin test in IE (<a
                                    href="https://github.com/jquery/jquery/commit/1a4f10ddc37c34c6dc3a451ee451b5c6cf367399">1a4f10dd</a>)
                            </li>
                            <li>Pass a number of necessary done() calls to assert.async() (<a
                                    href="https://github.com/jquery/jquery/commit/5ea844f65a820ebba7ae7c82af7bfab58f873e5a">5ea844f6</a>)
                            </li>
                            <li>Make the support tests pass on Firefox 4x/5x/60 (<a
                                    href="https://github.com/jquery/jquery/commit/f0d5ec62c313ea2f8e0d675a876ef3db179d4c8d">f0d5ec62</a>)
                            </li>
                            <li>Skip a &#8220;width/height on a table row with phantom borders&#8221; test in Firefox
                                (<a href="https://github.com/jquery/jquery/commit/c79e1d5fefc50b1df0a1c2ca3f06b567e79c0f9b">c79e1d5f</a>)
                            </li>
                            <li>Don&#8217;t test synchronous XHR on unload in Chrome (<a
                                    href="https://github.com/jquery/jquery/commit/c5b48c8caa58e7b73164ac033bf726a072903708">c5b48c8c</a>)
                            </li>
                            <li>Fix offset fractions tests in Chrome for Android (<a
                                    href="https://github.com/jquery/jquery/commit/0c67da4b74394d17991511b80f3ccff9f0c423be">0c67da4b</a>)
                            </li>
                            <li>Move Android user agent detection above iOS, put Safari last (<a
                                    href="https://github.com/jquery/jquery/commit/6276cb2e23375c1f2837b34bd9072ef804f996f1">6276cb2e</a>)
                            </li>
                            <li>Make support tests accept Safari 13 &amp; newer (<a
                                    href="https://github.com/jquery/jquery/commit/8167327fd940c420854b68f425a84207abf3c44f">8167327f</a>)
                            </li>
                            <li>update npo.js and include unminified source instead (<a
                                    href="https://github.com/jquery/jquery/commit/3654bc831d2b9d506d372396c9f6275e44f488ca">3654bc83</a>)
                            </li>
                        </ul>


                        <h3>Traversing</h3>


                        <ul>
                            <li>Fix contents() on object element
                                <object>s with children in IE (<a
                                        href="https://github.com/jquery/jquery/commit/90f78b9aab9c99ff3ffcccb1db602670e9707fa0">90f78b9a</a>)
                                </object>
                            </li>
                            <li>Fix contents() on object elements with children (<a
                                    href="https://github.com/jquery/jquery/issues/4384">#4384</a>, <a
                                    href="https://github.com/jquery/jquery/commit/42badf34607092fd754a18f5b71e9b08457f982a">42badf34</a>)
                            </li>
                        </ul>
                    </div>
                </article>

                <article id="post-4323"
                         class="post-4323 post type-post status-publish format-standard hentry category-jquery tag-jquery-updates">
                    <header class="entry-header">
                        <div class="entry-meta">
                            <span class="category"><a href="https://blog.jquery.com/category/jquery/">jQuery</a></span>
                        </div>
                        <h1 class="entry-title">
                            <a href="https://blog.jquery.com/2019/05/01/jquery-3-4-1-triggering-focus-events-in-ie-and-finding-root-elements-in-ios-10/"
                               title="Permalink to jQuery 3.4.1: triggering focus events in IE and finding root elements in iOS 10"
                               rel="bookmark">jQuery 3.4.1: triggering focus events in IE and finding root elements in
                                iOS 10</a>
                        </h1>

                        <div class="entry-posted">
                            <span class="sep">Posted on </span><a
                                href="https://blog.jquery.com/2019/05/01/jquery-3-4-1-triggering-focus-events-in-ie-and-finding-root-elements-in-ios-10/"
                                title="4:22 pm" rel="bookmark">
                            <time class="entry-date" datetime="2019-05-01T16:22:35-05:00" pubdate>May 1, 2019</time>
                        </a><span class="by-author"> <span class="sep"> by </span> <span class="author vcard"><a
                                class="url fn n" href="https://blog.jquery.com/author/timmywil/"
                                title="View all posts by Timmy Willison" rel="author">Timmy Willison</a></span></span>
                        </div>
                    </header>

                    <div class="entry-content">

                        <p>Hello again! jQuery 3.4.0 was released <a
                                href="https://blog.jquery.com/2019/04/10/jquery-3-4-0-released/">just three weeks
                            ago</a>, but we&#8217;ve had a few issues reported that warranted a patch release. Thank you
                            to everyone that reported issues and helped us get these fixed quickly. Here are the
                            changes:</p>


                        <h2>Triggering focus or blur more than once in IE</h2>


                        <p>jQuery 3.4.0 came with some changes to the way the event handler triggered native events such
                            <code>focus</code> and <code>blur</code>. These changes caused a regression that sometimes
                            resulted in an enigmatic error being thrown in the form of <code>"saved.shift is not a
                                function"</code>. This is now fixed.</p>


                        <h4>Example</h4>


                        <pre class="wp-block-code"><code>// Error thrown in IE10-11
// after clicking #test-element twice
jQuery("#test-element").click(function() {
  jQuery(this).trigger("blur");
});</code></pre>


                        <h2>Checking element attachment in iOS 10.0-10.2</h2>


                        <p>When releasing 3.4.0, we ran our tests in several versions of iOS, including iOS 10.3 but not
                            10.0-10.2. Those versions do not support a native function we use to determine whether an
                            element is attached to the DOM. Other versions of iOS were not affected. We added a guard to
                            ensure that this method exists and fall back to other options if necessary.</p>


                        <h2>Loading jQuery with AMD</h2>


                        <p>A small module was added in jQuery 3.4.0 that used the global jQuery rather than the local
                            jQuery loaded with AMD. This resulted in <code>"jQuery is undefined"</code> errors when
                            loading with AMD, but this should now be fixed.</p>


                        <p>
                        <p>&nbsp;</p>
                        <hr>
                        </p>


                        <h2>Upgrading</h2>


                        <p>There should be no compatibility issues if upgrading from jQuery 3.0+. If you haven’t yet
                            upgraded to jQuery 3+, please have a look at the <a
                                    href="https://jquery.com/upgrade-guide/3.0/">3.0 Upgrade Guide</a>. The <a
                                    href="https://github.com/jquery/jquery-migrate#migrate-older-jquery-code-to-jquery-30">jQuery
                                Migrate 3.0 plugin</a> will help you to identify compatibility issues in your code.</p>


                        <p>Please try out this new release and <a href="https://github.com/jquery/jquery/issues">let us
                            know about any issues you experienced</a>.</p>


                        <h2>Download</h2>


                        <p>You can get the files from the jQuery CDN, or link to them directly:</p>


                        <p><a href="https://code.jquery.com/jquery-3.4.1.js">https://code.jquery.com/jquery-3.4.1.js</a>
                        </p>


                        <p><a href="https://code.jquery.com/jquery-3.4.1.min.js">https://code.jquery.com/jquery-3.4.1.min.js</a>
                        </p>


                        <p>You can also get this release from npm:</p>


                        <p><code>npm install jquery@3.4.1</code></p>


                        <h3>Slim build</h3>


                        <p>Sometimes you don&#8217;t need ajax, or you prefer to use one of the many standalone
                            libraries that focus on ajax requests. And often it is simpler to use a combination of CSS
                            and class manipulation for web animations. Along with the regular version of jQuery that
                            includes the ajax and effects modules, we&#8217;ve released a &#8220;slim&#8221; version
                            that excludes these modules. The size of jQuery is very rarely a load performance concern
                            these days, but the slim build is about 6k gzipped bytes smaller than the regular version.
                            These files are also available in the npm package and on the CDN:</p>


                        <p><a href="https://code.jquery.com/jquery-3.4.1.slim.js">https://code.jquery.com/jquery-3.4.1.slim.js</a>
                        </p>


                        <p><a href="https://code.jquery.com/jquery-3.4.1.slim.min.js">https://code.jquery.com/jquery-3.4.1.slim.min.js</a>
                        </p>


                        <p>These updates are already available as the current versions on npm and Bower. Information on
                            all the ways to get jQuery is available at <a href="https://jquery.com/download/">https://jquery.com/download/</a>.
                            Public CDNs receive their copies today, please give them a few days to post the files. If
                            you’re anxious to get a quick start, use the files on our CDN until they have a chance to
                            update.</p>


                        <h2>Thanks</h2>


                        <p>Thank you to all of you who participated in this release by submitting patches, reporting
                            bugs, or testing, including <a href="https://github.com/gibson042">Richard Gibson</a>, <a
                                    href="https://github.com/mgol">Michal Golebiowski-Owczarek</a>, and the whole jQuery
                            team.</p>


                        <h2>Changelog</h2>


                        <p><strong>GitHub changelog: </strong> <a
                                href="https://github.com/jquery/jquery/issues?q=is%3Aissue+milestone%3A3.4.1+is%3Aclosed">Issues
                            fixed in 3.4.1</a> | <a href="https://github.com/jquery/jquery/compare/3.4.0..3.4.1">All
                            changes</a></p>


                        <h3>Build</h3>


                        <ul>
                            <li>Fix unresolved jQuery reference in finalPropName (<a
                                    href="https://github.com/jquery/jquery/issues/4358">#4358</a>, <a
                                    href="https://github.com/jquery/jquery/commit/0d4af5293449722fe873bc1a4b462a857dbbe58e">0d4af529</a>)
                            </li>
                        </ul>


                        <h3>Core</h3>


                        <ul>
                            <li>Make isAttached work with iOS 10.0-10.2 (<a
                                    href="https://github.com/jquery/jquery/issues/4356">#4356</a>, <a
                                    href="https://github.com/jquery/jquery/commit/7dddb19ca4bca9685adb734c76dcf72c3f610007">7dddb19c</a>)
                            </li>
                        </ul>


                        <h3>Event</h3>


                        <ul>
                            <li>Prevent leverageNative from registering duplicate dummy handlers (<a
                                    href="https://github.com/jquery/jquery/commit/6c1e7dbf7311ae7c0c31ba335fe216185047ae5f">6c1e7dbf</a>)
                            </li>
                            <li>Fix handling of multiple async focus events (<a
                                    href="https://github.com/jquery/jquery/issues/4350">#4350</a>, <a
                                    href="https://github.com/jquery/jquery/commit/24d71ac70406f522fc1b09bf7c4025251ec3aee6">24d71ac7</a>)
                            </li>
                        </ul>
                    </div>
                </article>

                <article id="post-4300"
                         class="post-4300 post type-post status-publish format-standard hentry category-jquery">
                    <header class="entry-header">
                        <div class="entry-meta">
                            <span class="category"><a href="https://blog.jquery.com/category/jquery/">jQuery</a></span>
                        </div>
                        <h1 class="entry-title">
                            <a href="https://blog.jquery.com/2019/04/10/jquery-3-4-0-released/"
                               title="Permalink to jQuery 3.4.0 Released" rel="bookmark">jQuery 3.4.0 Released</a>
                        </h1>

                        <div class="entry-posted">
                            <span class="sep">Posted on </span><a
                                href="https://blog.jquery.com/2019/04/10/jquery-3-4-0-released/" title="2:54 pm"
                                rel="bookmark">
                            <time class="entry-date" datetime="2019-04-10T14:54:43-05:00" pubdate>April 10, 2019</time>
                        </a><span class="by-author"> <span class="sep"> by </span> <span class="author vcard"><a
                                class="url fn n" href="https://blog.jquery.com/author/timmywil/"
                                title="View all posts by Timmy Willison" rel="author">Timmy Willison</a></span></span>
                        </div>
                    </header>

                    <div class="entry-content">

                        <p>jQuery has a new release! It&#8217;s been a while since our last release, but we expect this
                            to be the last minor release in the 3.x branch, and then we will move on to the overhaul
                            that will be jQuery 4.0. But before we get to 4.0, we&#8217;re excited to share the bug
                            fixes and improvements included in jQuery 3.4.0. Here are some of the highlights:</p>


                        <h2>Performance improvement in <code>.width</code> and <code>.height</code></h2>


                        <p>When getting and setting dimensions, there were certain cases where this could cause layout
                            thrashing, which basically means that the browser calculated layout more times than
                            necessary. We fixed this in all browsers except IE, where it can&#8217;t be avoided.</p>


                        <h2><code>nonce</code> and <code>nomodule</code> support</h2>


                        <p>To support adding script elements through methods like .html and .append, jQuery separates
                            them and appends new script tags to load and execute the remote content. During this
                            process, attributes such as <code>nonce</code> and <code>nomodule</code> were ignored, but
                            jQuery 3.4.0 now hangs onto them.</p>


                        <h2>Radio elements: expected state in event handlers</h2>


                        <p>We had already fixed the same issue with checkboxes, but accidentally left out radio inputs.
                            In the following example, <code>true</code> was logged the first time the element was
                            clicked. We fixed it so that the <code>checked</code> property is updated before the event
                            handler is executed.</p>


                        <h4>Example</h4>


                        <pre class="wp-block-code"><code>var $radios = jQuery(".example");
var $firstRadio = $radios.first();
var firstCheckedState = $firstRadio.prop("checked");
$radio.on("click", function() {
  // true in &lt;3.4.0
  console.log($firstRadio.prop("checked") === firstCheckedState);
});
$radios.eq(1).click();</code></pre>


                        <h2>Minor vulnerability fix: Object.prototype pollution</h2>


                        <p>jQuery 3.4.0 includes a fix for some unintended behavior when using <code>jQuery.extend(true,
                            {}, ...)</code>. If an unsanitized source object contained an enumerable
                            <code>__proto__</code> property, it could extend the native Object.prototype. This fix is
                            included in jQuery 3.4.0, but <a
                                    href="https://github.com/DanielRuf/snyk-js-jquery-174006?files=1">patch diffs</a>
                            exist to patch previous jQuery versions.</p>


                        <h4>Example</h4>


                        <pre class="wp-block-code"><code>jQuery.extend(true, {},
  JSON.parse('{"__proto__": {"test": true}}')
);
console.log( "test" in {} ); // true</code></pre>


                        <p>Note that while jQuery does its best to protect users from security vulnerabilities, jQuery
                            is a DOM manipulation library that will generally do what you tell it to do. In this case,
                            the behavior was likely unexpected, so <code>jQuery.extend</code> will no longer write any
                            properties named <code>__proto__</code>. But guards such as this one are not replacements
                            for good security practices such as user input sanitization.</p>


                        <h2>Deprecating positional selectors and the sunset of Sizzle</h2>


                        <p>The basic API of jQuery is to select something and then do something with what was selected.
                            Sizzle, the selector engine in jQuery, handles the first half. It&#8217;s been a fast and
                            efficient little engine that has paved the way for native selector APIs like <code>querySelectorAll</code>
                            and additional native JavaScript and CSS selectors. Now that many of these selectors have
                            made their way into modern browsers, it&#8217;s almost time to say goodbye to Sizzle. But in
                            order to remove Sizzle in jQuery 4.0, we will also need to remove what we refer to as
                            positional selectors, which are non-standard selectors.</p>


                        <p>Specifically, jQuery 3.4.0 is deprecating <code>:first</code>, <code>:last</code>,
                            <code>:eq</code>, <code>:even</code>, <code>:odd</code>, <code>:lt</code>, <code>:gt</code>,
                            and <code>:nth</code>. When we remove Sizzle, we&#8217;ll replace it with a small wrapper
                            around <code>querySelectorAll</code>, and it would be almost impossible to reimplement these
                            selectors without a larger selector engine.</p>


                        <p>We think this trade-off is worth it. Keep in mind we will still support the positional
                            methods, such as <code>.first</code>, <code>.last</code>, and <code>.eq</code>. Anything you
                            can do with positional selectors, you can do with positional methods instead. They perform
                            better anyway.</p>


                        <h2>Upgrading</h2>


                        <p>There should be no compatibility issues if upgrading from jQuery 3.0+. If you haven’t yet
                            upgraded to jQuery 3+, please have a look at the <a
                                    href="https://jquery.com/upgrade-guide/3.0/">3.0 Upgrade Guide</a>. The <a
                                    href="https://github.com/jquery/jquery-migrate#migrate-older-jquery-code-to-jquery-30">jQuery
                                Migrate 3.0 plugin</a> will help you to identify compatibility issues in your code.</p>


                        <p>Please try out this new release and <a href="https://github.com/jquery/jquery/issues">let us
                            know about any issues you experienced</a>.</p>


                        <h2>Download</h2>


                        <p>You can get the files from the jQuery CDN, or link to them directly:</p>


                        <p><a href="https://code.jquery.com/jquery-3.4.0.js">https://code.jquery.com/jquery-3.4.0.js</a>
                        </p>


                        <p><a href="https://code.jquery.com/jquery-3.4.0.min.js">https://code.jquery.com/jquery-3.4.0.min.js</a>
                        </p>


                        <p>You can also get this release from npm:</p>


                        <p><code>npm install jquery@3.4.0</code></p>


                        <h3>Slim build</h3>


                        <p>Sometimes you don&#8217;t need ajax, or you prefer to use one of the many standalone
                            libraries that focus on ajax requests. And often it is simpler to use a combination of CSS
                            and class manipulation for web animations. Along with the regular version of jQuery that
                            includes the ajax and effects modules, we&#8217;ve released a &#8220;slim&#8221; version
                            that excludes these modules. The size of jQuery is very rarely a load performance concern
                            these days, but the slim build is about 6k gzipped bytes smaller than the regular version.
                            These files are also available in the npm package and on the CDN:</p>


                        <p><a href="https://code.jquery.com/jquery-3.4.0.slim.js">https://code.jquery.com/jquery-3.4.0.slim.js</a>
                        </p>


                        <p><a href="https://code.jquery.com/jquery-3.4.0.slim.min.js">https://code.jquery.com/jquery-3.4.0.slim.min.js</a>
                        </p>


                        <p>These updates are already available as the current versions on npm and Bower. Information on
                            all the ways to get jQuery is available at <a href="https://jquery.com/download/">https://jquery.com/download/</a>.
                            Public CDNs receive their copies today, please give them a few days to post the files. If
                            you’re anxious to get a quick start, use the files on our CDN until they have a chance to
                            update.</p>


                        <h2>Thanks</h2>


                        <p>Thank you to all of you who participated in this release by submitting patches, reporting
                            bugs, or testing, including <a href="https://github.com/abnud1">abnud1</a>, <a
                                    href="https://github.com/jbedard">Jason Bedard</a>, <a
                                    href="https://github.com/buddh4">buddh4</a>, <a href="https://github.com/kborchers">Kris
                                Borchers</a>, <a href="https://github.com/Andrei15193">Andrei Fangli</a>, <a
                                    href="https://github.com/markelog">Oleg Gaidarenko</a>, <a
                                    href="https://github.com/gibson042">Richard Gibson</a>, <a
                                    href="https://github.com/mgol">Michal Golebiowski-Owczarek</a>, <a
                                    href="https://github.com/marjakh">Marja Hölttä</a>, <a
                                    href="https://github.com/dmethvin">Dave Methvin</a>, <a
                                    href="https://github.com/edg2s">Ed S</a>, <a href="https://github.com/emibloque">Luis
                                Emilio Velasco Sanchez</a>, <a href="https://github.com/SaptakS">Saptak Sengupta</a>, <a
                                    href="https://github.com/tmybr11">tmybr11</a>, <a href="https://github.com/enbo">Bert
                                Zhang</a>, and the whole jQuery team.</p>


                        <h2>Changelog</h2>


                        <p><strong>GitHub changelog: </strong> <a
                                href="https://github.com/jquery/jquery/issues?q=is%3Aissue+milestone%3A3.4.0+is%3Aclosed">Issues
                            fixed in 3.4.0</a> | <a href="https://github.com/jquery/jquery/compare/3.3.1..3.4.0">All
                            changes</a></p>


                        <h3>Ajax</h3>


                        <ul>
                            <li>Allow custom attributes when script transport is used (<a
                                    href="https://github.com/jquery/jquery/issues/3028">#3028</a>, <a
                                    href="https://github.com/jquery/jquery/commit/1f4375a34227f42570d2b72e190e51bcfb1e8597">1f4375a3</a>)
                            </li>
                            <li>Fix getResponseHeader(key) for IE11 (<a
                                    href="https://github.com/jquery/jquery/issues/3403">#3403</a>, <a
                                    href="https://github.com/jquery/jquery/commit/e0d941156900a6bff7c098c8ea7290528e468cf8">e0d94115</a>)
                            </li>
                        </ul>


                        <h3>Core</h3>


                        <ul>
                            <li>Use isAttached to check for attachment of element (<a
                                    href="https://github.com/jquery/jquery/commit/662083ed7bfea6bad5f9cd4060dab77c1f32aacd">662083ed</a>)
                            </li>
                            <li>Tiny efficiency fix to jQuery.extend / jQuery.fn.extend (#4246) (<a
                                    href="https://github.com/jquery/jquery/issues/4245">#4245</a>, <a
                                    href="https://github.com/jquery/jquery/commit/4ffb1df8e4738eb86bde429ec20efc7394e5e497">4ffb1df8</a>)
                            </li>
                            <li>Preserve CSP nonce on scripts with src attribute in DOM manipulation (<a
                                    href="https://github.com/jquery/jquery/issues/4323">#4323</a>, <a
                                    href="https://github.com/jquery/jquery/commit/005040379d8b64aacbe54941d878efa6e86df1cc">00504037</a>)
                            </li>
                            <li>Preserve CSP nonce on scripts in DOM manipulation (<a
                                    href="https://github.com/jquery/jquery/issues/3541">#3541</a>, <a
                                    href="https://github.com/jquery/jquery/commit/c7c2855ed13f23322c4064407c1ed84561b95738">c7c2855e</a>)
                            </li>
                            <li>Support passing nonce through jQuery.globalEval (<a
                                    href="https://github.com/jquery/jquery/issues/4278">#4278</a>, <a
                                    href="https://github.com/jquery/jquery/commit/5bdc85b82b84e5459462ddad9002f22d1ce74f21">5bdc85b8</a>)
                            </li>
                            <li>Recognize Shadow DOM in attachment checks (<a
                                    href="https://github.com/jquery/jquery/issues/3504">#3504</a>, <a
                                    href="https://github.com/jquery/jquery/commit/9b77def560212d12fef2d0b9c12aa50727e3e5d7">9b77def5</a>)
                            </li>
                            <li>Prevent Object.prototype pollution for $.extend( true, &#8230; ) (<a
                                    href="https://github.com/jquery/jquery/commit/753d591aea698e57d6db58c9f722cd0808619b1b">753d591a</a>)
                            </li>
                        </ul>


                        <h3>CSS</h3>


                        <ul>
                            <li>Ensure camel- vs kebab-cased names are not collapsed for CSS vars (<a
                                    href="https://github.com/jquery/jquery/commit/f8c1e9020c8fd0f0bb83019bfb12e9a7099599b2">f8c1e902</a>)
                            </li>
                            <li>Avoid filling jQuery.cssProps (<a href="https://github.com/jquery/jquery/issues/3986">#3986</a>,
                                <a href="https://github.com/jquery/jquery/commit/2b5f5d5e90b37f4a735738a6d0b6f22affbea340">2b5f5d5e</a>)
                            </li>
                            <li>Correctly detect scrollbox support with non-default zoom (<a
                                    href="https://github.com/jquery/jquery/issues/4029">#4029</a>, <a
                                    href="https://github.com/jquery/jquery/commit/821bf34353a6baf97f7944379a6459afb16badae">821bf343</a>)
                            </li>
                            <li>Don&#8217;t auto-append &#8220;px&#8221; to CSS variables (#4064) (<a
                                    href="https://github.com/jquery/jquery/issues/4063">#4063</a>, <a
                                    href="https://github.com/jquery/jquery/commit/75b77b4873abf9025b6ba60dec80aedd29df2bdd">75b77b48</a>)
                            </li>
                            <li>Skip the px-appending logic for animations of non-element props (<a
                                    href="https://github.com/jquery/jquery/commit/f5e36bd8f2c2b28231bbed926c6c3dead94db545">f5e36bd8</a>)
                            </li>
                            <li>Avoid forcing a reflow in width/height getters unless necessary (<a
                                    href="https://github.com/jquery/jquery/issues/4322">#4322</a>, <a
                                    href="https://github.com/jquery/jquery/commit/a0abd15b9e5aa9c1f36a9599e6095304825a7b9f">a0abd15b</a>)
                            </li>
                            <li>Don&#8217;t read styles.position in the width/height cssHook unless necessary (<a
                                    href="https://github.com/jquery/jquery/issues/4185">#4185</a>, <a
                                    href="https://github.com/jquery/jquery/commit/354f6036f251a3ce9b24cd7b228b4c7a79001520">354f6036</a>)
                            </li>
                            <li>Don&#8217;t auto-append &#8220;px&#8221; to possibly-unitless CSS grid properties (<a
                                    href="https://github.com/jquery/jquery/issues/4007">#4007</a>, <a
                                    href="https://github.com/jquery/jquery/commit/f997241f0011ed728be71002bc703c7a0d3f01e5">f997241f</a>)
                            </li>
                        </ul>


                        <h3>Dimensions</h3>


                        <ul>
                            <li>fix computing outerWidth on SVGs (<a
                                    href="https://github.com/jquery/jquery/issues/3964">#3964</a>, <a
                                    href="https://github.com/jquery/jquery/commit/e743cbd28553267f955f71ea7248377915613fd9">e743cbd2</a>)
                            </li>
                            <li>avoid fetching boxSizing when setting width/height &#8211; this avoids forcing a reflow
                                in some cases (<a href="https://github.com/jquery/jquery/issues/3991">#3991</a>, <a
                                        href="https://github.com/jquery/jquery/commit/73d7e6259c63ac45f42c6593da8c2796c6ce9281">73d7e625</a>)
                            </li>
                            <li>fall back to offsetWidth/Height for border-box in IE (<a
                                    href="https://github.com/jquery/jquery/issues/4102">#4102</a>, <a
                                    href="https://github.com/jquery/jquery/commit/315199c156c5b822a857ca236bda123f01a2da37">315199c1</a>)
                            </li>
                        </ul>


                        <h3>Event</h3>


                        <ul>
                            <li>Prevent leverageNative from double-firing focusin (<a
                                    href="https://github.com/jquery/jquery/commit/fe5f04de8fde9c69ed48283b99280aa6df3795c7">fe5f04de</a>)
                            </li>
                            <li>Add &#8220;code&#8221; property to Event object (<a
                                    href="https://github.com/jquery/jquery/issues/3978">#3978</a>, <a
                                    href="https://github.com/jquery/jquery/commit/899c56f6ada26821e8af12d9f35fa039100e838e">899c56f6</a>)
                            </li>
                            <li>Leverage native events for focus/blur/click; propagate additional data (<a
                                    href="https://github.com/jquery/jquery/issues/1741">#1741</a>, <a
                                    href="https://github.com/jquery/jquery/issues/3423">#3423</a>, <a
                                    href="https://github.com/jquery/jquery/issues/3751">#3751</a>, <a
                                    href="https://github.com/jquery/jquery/issues/4139">#4139</a>, <a
                                    href="https://github.com/jquery/jquery/commit/669f720edc4f557dfef986db747c09ebfaa16ef5">669f720e</a>)
                            </li>
                            <li>Respect script nomodule attribute in DOM manipulation (<a
                                    href="https://github.com/jquery/jquery/issues/4281">#4281</a>, <a
                                    href="https://github.com/jquery/jquery/commit/e4de8b4626f8872a4cb1ee241b60902653567503">e4de8b46</a>)
                            </li>
                            <li>Restore _evalUrl jQuery.ajax calls to dataType: script (<a
                                    href="https://github.com/jquery/jquery/commit/13de7c9ede1c49c30344b4347985eac341484b1e">13de7c9e</a>)
                            </li>
                            <li>Only evaluate HTTP-successful script src (<a
                                    href="https://github.com/jquery/jquery/issues/4126">#4126</a>, <a
                                    href="https://github.com/jquery/jquery/commit/c2026b117d1ca5b2e42a52c7e2a8ae8988cf0d4b">c2026b11</a>)
                            </li>
                        </ul>


                        <h3>Manipulation</h3>


                        <ul>
                            <li>Properly detect HTML elements with single-character names (<a
                                    href="https://github.com/jquery/jquery/issues/4124">#4124</a>, <a
                                    href="https://github.com/jquery/jquery/commit/979809c5a80aaf26bf7e3406a2e361e809f9b132">979809c5</a>)
                            </li>
                        </ul>


                        <h3>Misc</h3>


                        <ul>
                            <li>Add config for lockbot (<a
                                    href="https://github.com/jquery/jquery/commit/2348f3996748fc805903e45dbc598ec570d49bb0">2348f399</a>)
                            </li>
                            <li>Update license prolog/epilog to placate Github checker (<a
                                    href="https://github.com/jquery/jquery/commit/29e76e254059f8c2b695f4e41054260b52a6910d">29e76e25</a>)
                            </li>
                        </ul>


                        <h3>README</h3>


                        <ul>
                            <li>add gitter badge to README.md (<a
                                    href="https://github.com/jquery/jquery/commit/7869f83ddd5a3156a358284cbef6837b5e7a2a62">7869f83d</a>)
                            </li>
                            <li>Add FOSSA license scan status badge (<a
                                    href="https://github.com/jquery/jquery/commit/45f085882597016e521436f01a8459daf3e4000e">45f08588</a>)
                            </li>
                        </ul>


                        <h3>Selector</h3>


                        <ul>
                            <li>Update Sizzle from 2.3.3 to 2.3.4 (<a
                                    href="https://github.com/jquery/jquery/issues/1756">#1756</a>, <a
                                    href="https://github.com/jquery/jquery/issues/4170">#4170</a>, <a
                                    href="https://github.com/jquery/jquery/issues/4249">#4249</a>, <a
                                    href="https://github.com/jquery/jquery/commit/d940bc063cd5ae09bf52067bbe046fda88f1f687">d940bc06</a>)
                            </li>
                        </ul>


                        <h3>Serialize</h3>


                        <ul>
                            <li>jQuery.param: return empty string when given null/undefined (<a
                                    href="https://github.com/jquery/jquery/issues/2633">#2633</a>, <a
                                    href="https://github.com/jquery/jquery/commit/0645099e027cd0e31a828572169a8c25474e2b5c">0645099e</a>)
                            </li>
                        </ul>


                        <h3>Traversing</h3>


                        <ul>
                            <li>$.fn.contents() support for object (<a
                                    href="https://github.com/jquery/jquery/issues/4045">#4045</a>, <a
                                    href="https://github.com/jquery/jquery/commit/0ba8e38d0c4ab4a4fb9054e7a713630be9743aff">0ba8e38d</a>)
                            </li>
                        </ul>


                        <h3>Internal</h3>


                        <ul>
                            <li>Seasonal update of uglify and its options (<a
                                    href="https://github.com/jquery/jquery/commit/09684ba3f210594e41ecddf369ac94c688d53ccb">09684ba3</a>)
                            </li>
                            <li>Remove unnecessary ESLint exception (<a
                                    href="https://github.com/jquery/jquery/commit/dc05f3c1d5a22d96d9d62c8ec0fde2782c38796b">dc05f3c1</a>)
                            </li>
                            <li>Run the basic test suite in jsdom (<a
                                    href="https://github.com/jquery/jquery/commit/0ec25abba212efde462a8abcf3376f50116fd6c4">0ec25abb</a>)
                            </li>
                            <li>Remove manual QUnit fixture resetting (<a
                                    href="https://github.com/jquery/jquery/commit/84b6a0beb1de193520bb5541c841cbecc7195a5b">84b6a0be</a>)
                            </li>
                            <li>Make Promises/A+ tests use the dot reporter instead of the default (<a
                                    href="https://github.com/jquery/jquery/commit/ca9356ecce0d45e80794e4fb1a94f283675526ba">ca9356ec</a>)
                            </li>
                            <li>Update QUnit from 1.23.1 to 2.9.2 (<a
                                    href="https://github.com/jquery/jquery/commit/6ced2639b567ab4a5089f38a8e90efedc12801bf">6ced2639</a>)
                            </li>
                            <li>Run Karma browser tests on Node.js 10 instead of 8 (<a
                                    href="https://github.com/jquery/jquery/commit/16ad9889f562e730a7f39df8a20938f6a3a04edc">16ad9889</a>)
                            </li>
                            <li>Update jsdom; migrate a test with Symbol polyfill to an iframe test (<a
                                    href="https://github.com/jquery/jquery/commit/9cb124ed00aad8ac47690e31ad0bb8c3c365663d">9cb124ed</a>)
                            </li>
                            <li>Remove obsolete globals from ESLint configuration (<a
                                    href="https://github.com/jquery/jquery/commit/c10945d0e15c5048ae8b5b7e3f8241ad27671a7c">c10945d0</a>)
                            </li>
                            <li>Update most dependencies (<a
                                    href="https://github.com/jquery/jquery/commit/8751e9ef86c007e55c9e4a2fe3c9212fb2cadcca">8751e9ef</a>)
                            </li>
                            <li>Update test code for compatibility with QUnit 2.x (#4297) (<a
                                    href="https://github.com/jquery/jquery/commit/c3498187421d0a50ee0369163428481137a04b99">c3498187</a>)
                            </li>
                            <li>Advise to create test cases on JS Bin or CodePen, drop JSFiddle (<a
                                    href="https://github.com/jquery/jquery/commit/da44ff39c2c3433e32b757b05b5643edb72fe786">da44ff39</a>)
                            </li>
                        </ul>
                    </div>
                </article>

                <article id="post-4283"
                         class="post-4283 post type-post status-publish format-standard hentry category-jquery">
                    <header class="entry-header">
                        <div class="entry-meta">
                            <span class="category"><a href="https://blog.jquery.com/category/jquery/">jQuery</a></span>
                        </div>
                        <h1 class="entry-title">
                            <a href="https://blog.jquery.com/2018/08/30/bad-map-file-for-jquery-1-9-1-in-the-jquery-cdn/"
                               title="Permalink to Bad map file for jQuery 1.9.1 in the jQuery CDN" rel="bookmark">Bad
                                map file for jQuery 1.9.1 in the jQuery CDN</a>
                        </h1>

                        <div class="entry-posted">
                            <span class="sep">Posted on </span><a
                                href="https://blog.jquery.com/2018/08/30/bad-map-file-for-jquery-1-9-1-in-the-jquery-cdn/"
                                title="6:15 pm" rel="bookmark">
                            <time class="entry-date" datetime="2018-08-30T18:15:32-05:00" pubdate>August 30, 2018</time>
                        </a><span class="by-author"> <span class="sep"> by </span> <span class="author vcard"><a
                                class="url fn n" href="https://blog.jquery.com/author/dmethvin/"
                                title="View all posts by Dave Methvin" rel="author">Dave Methvin</a></span></span></div>
                    </header>

                    <div class="entry-content">
                        <p>Quite a while back, Mike Taylor <a href="https://github.com/jquery/jquery/issues/2899">pointed
                            out</a> that the jQuery CDN has a minified copy of jQuery 1.9.1 with an incorrect map file
                            reference. Basically, it refers to the map for jQuery 1.11.1, and that&#8217;s just wrong.
                            If you are trying to debug a site that uses the minified jQuery 1.9.1 file, dev tools will
                            get very confused and make a hard job even harder.</p>
                        <p>You might think that we could just edit the
                            <code>https://code.jquery.com/jquery-1.9.1.min.js</code> file to point to the correct map
                            file, which does exist as <code>https://code.jquery.com/jquery-1.9.1.min.map</code>. There
                            are at least two problems with doing that. The first is that the file is heavily cached
                            across the internet, since it&#8217;s been assumed for years that it will never change once
                            the release occurs. Even if we edited the file, both the JavaScript and map file might never
                            actually update at the point where they&#8217;re being used.</p>
                        <p>A second problem is even more serious. We&#8217;ve been advocating that developers use <a
                                href="https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity">the
                            script&#8217;s <code>integrity</code> attribute</a> to ensure that the file you are
                            including has not been modified since you originally wrote the script tag. If we modify the
                            contents of the file this attribute will be wrong and the page will no longer include the
                            file. This is likely to completely break the page! Given the age of jQuery 1.9.1 it is
                            possible that many of the pages including this file are not being actively maintained. Thus,
                            we can&#8217;t seriously consider changing the JavaScript file in any way, not even one
                            byte.</p>
                        <p>The least disruptive option is to remove the <code>jquery.min.map</code> file that the jQuery
                            1.9.1 minified file references. It does <em>not</em> affect whether jQuery runs correctly
                            for the visitors of a site. It only has the effect of disabling the source map. Because of
                            these pitfalls of including the <code>sourceMappingURL</code> map reference in CDN
                            JavaScript files that are often copied elsewhere, we no longer include it.</p>
                        <p>If you need to debug a site using one of these minified files, it is possible to manually
                            associate a map file in Chrome. Open the minified source file, right click over the area of
                            the minified source, and select &#8220;Add source map&#8230;&#8221;. </p>
                        <p>The incorrect <code>jquery.min.map</code> file has been removed from the jQuery CDN. We
                            expect that there won&#8217;t be any observable change from removing this file, other than
                            restoring sanity to debugging a site that uses jQuery 1.9.1. The jQuery 1.11.1 minified file
                            does not reference its map, so it will continue to work fine and you can associate a map
                            file as mentioned above. </p>
                        <p>Because caches are so aggressive on CDNs and across the internet, it&#8217;s possible that
                            you may still see this map file for a while. If you see some unusual behavior that you think
                            is related to the missing <code>jquery.min.map</code> file you can <a
                                    href="https://github.com/jquery/codeorigin.jquery.com/issues">open a ticket on the
                                CDN issue tracker</a>.</p>
                    </div>
                </article>

                <article id="post-4262"
                         class="post-4262 post type-post status-publish format-standard hentry category-jquery">
                    <header class="entry-header">
                        <div class="entry-meta">
                            <span class="category"><a href="https://blog.jquery.com/category/jquery/">jQuery</a></span>
                        </div>
                        <h1 class="entry-title">
                            <a href="https://blog.jquery.com/2018/01/20/jquery-3-3-1-fixed-dependencies-in-release-tag/"
                               title="Permalink to jQuery 3.3.1 &#8211; fixed dependencies in release tag"
                               rel="bookmark">jQuery 3.3.1 &#8211; fixed dependencies in release tag</a>
                        </h1>

                        <div class="entry-posted">
                            <span class="sep">Posted on </span><a
                                href="https://blog.jquery.com/2018/01/20/jquery-3-3-1-fixed-dependencies-in-release-tag/"
                                title="12:32 pm" rel="bookmark">
                            <time class="entry-date" datetime="2018-01-20T12:32:50-05:00" pubdate>January 20, 2018
                            </time>
                        </a><span class="by-author"> <span class="sep"> by </span> <span class="author vcard"><a
                                class="url fn n" href="https://blog.jquery.com/author/timmywil/"
                                title="View all posts by Timmy Willison" rel="author">Timmy Willison</a></span></span>
                        </div>
                    </header>

                    <div class="entry-content">
                        <p>We encountered an issue in the release for jQuery 3.3.0, so we&#8217;ve immediately released
                            another tag. The code itself is identical, but our release dependencies (only used during
                            release) were added to the dependencies of the jQuery package itself due to the new behavior
                            of npm in version 5+.</p>
                        <p>jQuery 3.3.1 is now recommended if installing from npm or GitHub. If using jQuery on any CDN,
                            the built file only differs in the version number.</p>
                        <p>We apologize for any inconvenience and have updated our release script to account for this
                            issue.</p>
                        <p>Please see the <a
                                href="http://blog.jquery.com/2018/01/19/jquery-3-3-0-a-fragrant-bouquet-of-deprecations-and-is-that-a-new-feature/">jQuery
                            3.3.0 blog post</a> for all relevant code changes in this release.</p>
                        <h2>Download</h2>
                        <p>You can get the files from the jQuery CDN, or link to them directly:</p>
                        <p><a href="https://code.jquery.com/jquery-3.3.1.js">https://code.jquery.com/jquery-3.3.1.js</a>
                        </p>
                        <p><a href="https://code.jquery.com/jquery-3.3.1.min.js">https://code.jquery.com/jquery-3.3.1.min.js</a>
                        </p>
                        <p>You can also get this release from npm:</p>
                        <p><code>npm install jquery@3.3.1</code></p>
                        <h3>Slim build</h3>
                        <p>Sometimes you don&#8217;t need ajax, or you prefer to use one of the many standalone
                            libraries that focus on ajax requests. And often it is simpler to use a combination of CSS
                            and class manipulation for all your web animations. Along with the regular version of jQuery
                            that includes the ajax and effects modules, we&#8217;ve released a &#8220;slim&#8221;
                            version that excludes these modules. The size of jQuery is very rarely a load performance
                            concern these days, but the slim build is about 6k gzipped bytes smaller than the regular
                            version – 24k vs 30k. These files are also available in the npm package and on the CDN:</p>
                        <p><a href="https://code.jquery.com/jquery-3.3.1.slim.js">https://code.jquery.com/jquery-3.3.1.slim.js</a><br/>
                            <a href="https://code.jquery.com/jquery-3.3.1.slim.min.js">https://code.jquery.com/jquery-3.3.1.slim.min.js</a>
                        </p>
                        <p>These updates are already available as the current versions on npm and Bower. Information on
                            all the ways to get jQuery is available at <a href="https://jquery.com/download/">https://jquery.com/download/</a>.
                            Public CDNs receive their copies today, please give them a few days to post the files. If
                            you’re anxious to get a quick start, use the files on our CDN until they have a chance to
                            update.</p>
                    </div>
                </article>

                <article id="post-4225"
                         class="post-4225 post type-post status-publish format-standard hentry category-jquery">
                    <header class="entry-header">
                        <div class="entry-meta">
                            <span class="category"><a href="https://blog.jquery.com/category/jquery/">jQuery</a></span>
                        </div>
                        <h1 class="entry-title">
                            <a href="https://blog.jquery.com/2018/01/19/jquery-3-3-0-a-fragrant-bouquet-of-deprecations-and-is-that-a-new-feature/"
                               title="Permalink to jQuery 3.3.0 &#8211; A fragrant bouquet of deprecations and&#8230;is that a new feature?"
                               rel="bookmark">jQuery 3.3.0 &#8211; A fragrant bouquet of deprecations and&#8230;is that
                                a new feature?</a>
                        </h1>

                        <div class="entry-posted">
                            <span class="sep">Posted on </span><a
                                href="https://blog.jquery.com/2018/01/19/jquery-3-3-0-a-fragrant-bouquet-of-deprecations-and-is-that-a-new-feature/"
                                title="2:06 pm" rel="bookmark">
                            <time class="entry-date" datetime="2018-01-19T14:06:01-05:00" pubdate>January 19, 2018
                            </time>
                        </a><span class="by-author"> <span class="sep"> by </span> <span class="author vcard"><a
                                class="url fn n" href="https://blog.jquery.com/author/timmywil/"
                                title="View all posts by Timmy Willison" rel="author">Timmy Willison</a></span></span>
                        </div>
                    </header>

                    <div class="entry-content">
                        <p>It&#8217;s been a while since the last jQuery release, but the Core team hasn&#8217;t been
                            idle. We&#8217;ve got an all new minor release for you, and it&#8217;s even got a new
                            feature in it!</p>
                        <p>The <code>.addClass()</code>, <code>.removeClass()</code>, and <code>.toggleClass()</code>
                            methods now accept an <strong>array</strong> of classes.</p>
                        <pre><code>
jQuery(elem).addClass([
   'dave', 'micha&#322;',
   'oleg', 'richard',
   'jason', 'timmy'
]);

</code></pre>
                        <p>Generally, jQuery is not looking to add anything new. We tend to focus more on what we can
                            remove rather than what we can add. But as soon as we saw this feature request, we wondered
                            how it hadn&#8217;t been added before.</p>
                        <p>There should be no compatibility issues if upgrading from jQuery 3.0+. If you haven’t yet
                            upgraded to jQuery 3+, please have a look at the <a
                                    href="https://jquery.com/upgrade-guide/3.0/">3.0 Upgrade Guide</a>. The <a
                                    href="https://github.com/jquery/jquery-migrate#migrate-older-jquery-code-to-jquery-30">jQuery
                                Migrate 3.0 plugin</a> will help you to identify compatibility issues in your code.</p>
                        <p>Please try out this new release and <a href="https://github.com/jquery/jquery/issues">let us
                            know about any issues you experienced</a>.</p>
                        <h2>Deprecations</h2>
                        <p>We&#8217;ve pruned some roses, lilies, and sunflowers in this release. Some of these will
                            smell sweeter than others, but put them together, and you&#8217;ve got a beautiful bouquet
                            of&#8230;<i>depre-carnations</i>.</p>
                        <p>These functions have either lost some of their usefulness over time, are considered to be
                            less favorable than available alternatives, or were intended for internal usage from the
                            beginning. While most of these will be removed in jQuery 4.0, it&#8217;s worth noting that
                            we do not consider the deprecation of a method to mean that it will be removed; it means
                            that we encourage the use of alternatives. For instance, event aliases like
                            <code>.click()</code> will likely never be removed.</p>
                        <ul>
                            <li>jQuery.now (<a href="https://github.com/jquery/jquery/issues/2959">#2959</a>, <a
                                    href="https://github.com/jquery/jquery/commit/909e0c99251ee56ec35db0e08d5b1e6219ac8fbc">909e0c99</a>)
                            </li>
                            <li>jQuery.isWindow (<a href="https://github.com/jquery/jquery/issues/3629">#3629</a>, <a
                                    href="https://github.com/jquery/jquery/commit/c18d608537d8945de6c5855a9475657177fa74ac">c18d6085</a>)
                            </li>
                            <li>jQuery.camelCase(<a href="https://github.com/jquery/jquery/issues/3384">#3384</a>, <a
                                    href="https://github.com/jquery/jquery/commit/64a289286a743516bce82462200062a647ef3ac0">64a28928</a>)
                            </li>
                            <li>jQuery.proxy (not slated for removal) (<a
                                    href="https://github.com/jquery/jquery/issues/2958">#2958</a>, <a
                                    href="https://github.com/jquery/jquery/commit/3a8e44745c014871bc56e94d91e57c45ae4be208">3a8e4474</a>)
                            </li>
                            <li>jQuery.type (<a href="https://github.com/jquery/jquery/issues/3605">#3605</a>, <a
                                    href="https://github.com/jquery/jquery/commit/1ea092a54b00aa4d902f4e22ada3854d195d4a18">1ea092a5</a>)
                            </li>
                            <li>jQuery.isNumeric (<a href="https://github.com/jquery/jquery/issues/2960">#2960</a>, <a
                                    href="https://github.com/jquery/jquery/commit/c4494d4abc84d368d6597889ab45fc07466f8f26">c4494d4a</a>)
                            </li>
                            <li>jQuery.isFunction (<a href="https://github.com/jquery/jquery/issues/3609">#3609</a>, <a
                                    href="https://github.com/jquery/jquery/commit/3d732cca6b5076a9d13eee98e2b075b37384cd91">3d732cca</a>)
                            </li>
                            <li>Event aliases (<a href="https://github.com/jquery/jquery/issues/3214">#3214</a>, <a
                                    href="https://github.com/jquery/jquery/commit/022b69a44e42684bdd0029dd456bedb3b495cc24">022b69a4</a>)
                            </li>
                        </ul>
                        <h2>Command-line Testing</h2>
                        <p>The magnificent <a href="https://github.com/Krinkle">Timo Tijhof</a> has made it possible to
                            <a href="https://github.com/jquery/jquery/commit/ecd8ddea33dc40ae2a57e4340be03faf2ba2f99b">run
                                all jQuery tests on the command line</a>, using grunt and karma. This is something we&#8217;ve
                            always wanted but it was complicated by our need for a php server to run ajax tests. Thanks
                            to Timo for making it happen!</p>
                        <p><strong>Note</strong>: jQuery no longer runs any tests on PhantomJS 1.x.</p>
                        <h2>Download</h2>
                        <p>You can get the files from the jQuery CDN, or link to them directly:</p>
                        <p><a href="https://code.jquery.com/jquery-3.3.0.js">https://code.jquery.com/jquery-3.3.0.js</a>
                        </p>
                        <p><a href="https://code.jquery.com/jquery-3.3.0.min.js">https://code.jquery.com/jquery-3.3.0.min.js</a>
                        </p>
                        <p>You can also get this release from npm:</p>
                        <p><code>npm install jquery@3.3.0</code></p>
                        <h3>Slim build</h3>
                        <p>Sometimes you don&#8217;t need ajax, or you prefer to use one of the many standalone
                            libraries that focus on ajax requests. And often it is simpler to use a combination of CSS
                            and class manipulation for all your web animations. Along with the regular version of jQuery
                            that includes the ajax and effects modules, we&#8217;ve released a &#8220;slim&#8221;
                            version that excludes these modules. The size of jQuery is very rarely a load performance
                            concern these days, but the slim build is about 6k gzipped bytes smaller than the regular
                            version – 24k vs 30k. These files are also available in the npm package and on the CDN:</p>
                        <p><a href="https://code.jquery.com/jquery-3.3.0.slim.js">https://code.jquery.com/jquery-3.3.0.slim.js</a><br/>
                            <a href="https://code.jquery.com/jquery-3.3.0.slim.min.js">https://code.jquery.com/jquery-3.3.0.slim.min.js</a>
                        </p>
                        <p>These updates are already available as the current versions on npm and Bower. Information on
                            all the ways to get jQuery is available at <a href="https://jquery.com/download/">https://jquery.com/download/</a>.
                            Public CDNs receive their copies today, please give them a few days to post the files. If
                            you’re anxious to get a quick start, use the files on our CDN until they have a chance to
                            update.</p>
                        <h2>Thanks</h2>
                        <p>Thank you to all of you who participated in this release by submitting patches, reporting
                            bugs, or testing, including <a href="https://github.com/aspala">Andreas Solledar</a>, Basil
                            Belokon, <a href="https://github.com/teabyii">Boom Lee</a>, <a
                                    href="https://github.com/CDAGaming">&#8220;CDAGaming&#8221;</a>, <a
                                    href="https://github.com/dmethvin">Dave Methvin</a>, <a
                                    href="https://github.com/eriklax">Erik Lax</a>, <a href="https://github.com/hzoo">Henry
                                Zhu</a>, <a href="https://github.com/jbedard">Jason Bedard</a>, <a
                                    href="https://github.com/jobeland">Jordan Beland</a>, <a
                                    href="https://github.com/matankb">Matan Kotler-Berkowitz</a>, <a
                                    href="https://github.com/mgol">Micha&#322; Go&#322;&#281;biowski-Owczarek</a>, <a
                                    href="https://github.com/niltoncsr">Nilton Cesar</a>, <a
                                    href="https://github.com/caillou">Pierre Spring</a>, <a
                                    href="https://github.com/gibson042">Richard Gibson</a>, <a
                                    href="https://github.com/SaptakS">Saptak Sengupta</a>, <a
                                    href="https://github.com/ShashankaNataraj">Shashanka Nataraj</a>, <a
                                    href="https://github.com/stevemao">Steve Mao</a>, <a
                                    href="https://github.com/Krinkle">Timo Tijhof</a>, <a
                                    href="https://github.com/faisaliyk">Faisal Irfan Yar Khan</a>, and the whole jQuery
                            team.</p>
                        <h2>&nbsp;</h2>
                        <h2>Changelog</h2>
                        <p><strong>GitHub changelog: </strong> <a
                                href="https://github.com/jquery/jquery/issues?q=is%3Aissue+milestone%3A3.3.0+is%3Aclosed">Issues
                            fixed in 3.3.0</a> | <a href="https://github.com/jquery/jquery/compare/3.2.1...3.3.0">All
                            changes</a></p>
                        <h3>Ajax</h3>
                        <ul>
                            <li>Add an ontimeout handler to all requests (<a
                                    href="https://github.com/jquery/jquery/issues/3586">#3586</a>, <a
                                    href="https://github.com/jquery/jquery/commit/262acc6f1e0f71a3a8b786e3c421b2e645799ea0">262acc6f</a>)
                            </li>
                            <li>Don&#8217;t process non-string data property on no-entity-body requests (<a
                                    href="https://github.com/jquery/jquery/issues/3438">#3438</a>, <a
                                    href="https://github.com/jquery/jquery/commit/d7237896c79a5a10d85fcdec199c5657a469a92b">d7237896</a>)
                            </li>
                        </ul>
                        <h3>Attributes</h3>
                        <ul>
                            <li>Feature: Allow array param in add/remove/toggleClass (<a
                                    href="https://github.com/jquery/jquery/issues/3532">#3532</a>, <a
                                    href="https://github.com/jquery/jquery/commit/80f57f8a13debaab87b99f73631669699da3e1a5">80f57f8a</a>)
                            </li>
                        </ul>
                        <h3>Build</h3>
                        <ul>
                            <li>Test on Node.js 8, stop testing on Node.js 7 (<a
                                    href="https://github.com/jquery/jquery/commit/bef46a2aeb959093de47fa6bf435ecb91402ed97">bef46a2a</a>)
                            </li>
                            <li>Update to Babel 7, use for-of plugin instead of preset-es2015 (<a
                                    href="https://github.com/jquery/jquery/commit/90bac40a5123038c94a6fd8c1fde7fbe758b08c7">90bac40a</a>)
                            </li>
                            <li>Remove package-lock.json, add it to .gitignore (<a
                                    href="https://github.com/jquery/jquery/issues/3792">#3792</a>, <a
                                    href="https://github.com/jquery/jquery/commit/7037facc2243ec24c2b36b770236c05d300aa513">7037facc</a>)
                            </li>
                            <li>Test on Node.js 9 (<a
                                    href="https://github.com/jquery/jquery/commit/3e902a812014e8a6980e08599c4840b1cb969f7c">3e902a81</a>)
                            </li>
                            <li>Fix UglifyJS output in Android 4.0; update uglify (<a
                                    href="https://github.com/jquery/jquery/issues/3743">#3743</a>, <a
                                    href="https://github.com/jquery/jquery/commit/c9efd11f47c68f0537c8ea535b8d6a9c6d667175">c9efd11f</a>)
                            </li>
                        </ul>
                        <h3>Core</h3>
                        <ul>
                            <li>Deprecate jQuery.now (<a href="https://github.com/jquery/jquery/issues/2959">#2959</a>,
                                <a href="https://github.com/jquery/jquery/commit/909e0c99251ee56ec35db0e08d5b1e6219ac8fbc">909e0c99</a>)
                            </li>
                            <li>Deprecate jQuery.isWindow (<a
                                    href="https://github.com/jquery/jquery/issues/3629">#3629</a>, <a
                                    href="https://github.com/jquery/jquery/commit/c18d608537d8945de6c5855a9475657177fa74ac">c18d6085</a>)
                            </li>
                            <li>Make camelCase function available only for internal usage (<a
                                    href="https://github.com/jquery/jquery/issues/3384">#3384</a>, <a
                                    href="https://github.com/jquery/jquery/commit/64a289286a743516bce82462200062a647ef3ac0">64a28928</a>)
                            </li>
                            <li>Deprecate jQuery.proxy (not slated for removal) (<a
                                    href="https://github.com/jquery/jquery/issues/2958">#2958</a>, <a
                                    href="https://github.com/jquery/jquery/commit/3a8e44745c014871bc56e94d91e57c45ae4be208">3a8e4474</a>)
                            </li>
                            <li>Deprecate jQuery.type (<a href="https://github.com/jquery/jquery/issues/3605">#3605</a>,
                                <a href="https://github.com/jquery/jquery/commit/1ea092a54b00aa4d902f4e22ada3854d195d4a18">1ea092a5</a>)
                            </li>
                            <li>Deprecate jQuery.isNumeric (<a
                                    href="https://github.com/jquery/jquery/issues/2960">#2960</a>, <a
                                    href="https://github.com/jquery/jquery/commit/c4494d4abc84d368d6597889ab45fc07466f8f26">c4494d4a</a>)
                            </li>
                            <li>Update isFunction to handle unusual-@@toStringTag input (<a
                                    href="https://github.com/jquery/jquery/issues/3600">#3600</a>, <a
                                    href="https://github.com/jquery/jquery/issues/3596">#3596</a>, <a
                                    href="https://github.com/jquery/jquery/commit/a16339b8933f115da3661f3d3f64854c3fa60bdc">a16339b8</a>)
                            </li>
                            <li>Deprecate jQuery.isFunction (<a href="https://github.com/jquery/jquery/issues/3609">#3609</a>,
                                <a href="https://github.com/jquery/jquery/commit/3d732cca6b5076a9d13eee98e2b075b37384cd91">3d732cca</a>)
                            </li>
                        </ul>
                        <h3>CSS</h3>
                        <ul>
                            <li>Drop the float mapping from cssProps (<a
                                    href="https://github.com/jquery/jquery/commit/bbf334282b5c27394fc507b1778cf21850be7b93">bbf33428</a>)
                            </li>
                            <li>Correctly set support properties with non-default zoom (<a
                                    href="https://github.com/jquery/jquery/issues/3808">#3808</a>, <a
                                    href="https://github.com/jquery/jquery/commit/f00a07590e67777f4e6b8f452059b116d922a623">f00a0759</a>)
                            </li>
                            <li>Detect more WebKit styles erroneously reported as percentages (<a
                                    href="https://github.com/jquery/jquery/issues/3777">#3777</a>, <a
                                    href="https://github.com/jquery/jquery/commit/94ddf620224d6555aaa7eaac20c583b15c6f50d8">94ddf620</a>)
                            </li>
                            <li>Retrieve inline style before computed (<a
                                    href="https://github.com/jquery/jquery/commit/c4598da4293afa4bb9c0425d964432e918055aa6">c4598da4</a>)
                            </li>
                            <li>Avoid unit-conversion interference from CSS upper bounds (<a
                                    href="https://github.com/jquery/jquery/issues/2144">#2144</a>, <a
                                    href="https://github.com/jquery/jquery/commit/692f9d4db30c9c6c4f6bc76005cf153586202fa6">692f9d4d</a>)
                            </li>
                        </ul>
                        <h3>Deferred</h3>
                        <ul>
                            <li>Fix memory leak of promise callbacks (<a
                                    href="https://github.com/jquery/jquery/issues/3606">#3606</a>, <a
                                    href="https://github.com/jquery/jquery/commit/36389288e8c7f2538b5ae7dd6877e81a9a76c644">36389288</a>)
                            </li>
                        </ul>
                        <h3>Dimensions</h3>
                        <ul>
                            <li>Improve offsetWidth/offsetHeight fallback (<a
                                    href="https://github.com/jquery/jquery/issues/3698">#3698</a>, <a
                                    href="https://github.com/jquery/jquery/issues/3602">#3602</a>, <a
                                    href="https://github.com/jquery/jquery/commit/a49578499ec88c9fbca59ff0c80b23b798a55d99">a4957849</a>)
                            </li>
                            <li>Include scroll gutter in &#8220;padding&#8221; box (<a
                                    href="https://github.com/jquery/jquery/issues/3589">#3589</a>, <a
                                    href="https://github.com/jquery/jquery/commit/80f1c8239e9d5f793f3e54e0cb8d7bd0747e4856">80f1c823</a>)
                            </li>
                            <li>Fall back to offsetWidth/Height for inline elems (<a
                                    href="https://github.com/jquery/jquery/issues/3571">#3571</a>, <a
                                    href="https://github.com/jquery/jquery/commit/473d2ea7d5e4ef0a5b8e0305197f483c136ee4ab">473d2ea7</a>)
                            </li>
                            <li>Don&#8217;t trust non-pixel computed width/height (<a
                                    href="https://github.com/jquery/jquery/issues/3611">#3611</a>, <a
                                    href="https://github.com/jquery/jquery/commit/3cf1d14ccc63b8054ee977e90c72c5da07c80e59">3cf1d14c</a>)
                            </li>
                            <li>Detect and account for content-box dimension mishandling (<a
                                    href="https://github.com/jquery/jquery/issues/3699">#3699</a>, <a
                                    href="https://github.com/jquery/jquery/commit/3fcddd6e72e7e318c0b062e391d60867732318ae">3fcddd6e</a>)
                            </li>
                        </ul>
                        <h3>Docs</h3>
                        <ul>
                            <li>Create CODE_OF_CONDUCT.md (<a
                                    href="https://github.com/jquery/jquery/commit/e84d3bc02eddeb0e0ca0438952ac560a794ff463">e84d3bc0</a>)
                            </li>
                            <li>Update links to HTML spec for stripAndCollapse (#3594) (<a
                                    href="https://github.com/jquery/jquery/commit/e1b1b2d7fe5aff907a9accf59910bc3b7e4d1dec">e1b1b2d7</a>)
                            </li>
                        </ul>
                        <h3>Event</h3>
                        <ul>
                            <li>Move event aliases to deprecated (<a
                                    href="https://github.com/jquery/jquery/issues/3214">#3214</a>, <a
                                    href="https://github.com/jquery/jquery/commit/022b69a44e42684bdd0029dd456bedb3b495cc24">022b69a4</a>)
                            </li>
                            <li>`stopPropagation()` on native event-handler (<a
                                    href="https://github.com/jquery/jquery/issues/3693">#3693</a>, <a
                                    href="https://github.com/jquery/jquery/commit/490db839fb08a9b461e77dbe0138c7e6045aacd8">490db839</a>)
                            </li>
                        </ul>
                        <h3>Filter</h3>
                        <ul>
                            <li>Use direct filter in winnow (<a href="https://github.com/jquery/jquery/issues/3272">#3272</a>,
                                <a href="https://github.com/jquery/jquery/commit/4765bb5c7840fc5f725f5bda38afcebc3730fbfc">4765bb5c</a>)
                            </li>
                        </ul>
                        <h3>Manipulation</h3>
                        <ul>
                            <li>Use `.children` to select tbody elements (<a
                                    href="https://github.com/jquery/jquery/commit/a88b48eab1cdbb9dac05679a0d1c0edd7cc4afd7">a88b48ea</a>)
                            </li>
                            <li>Add support for scripts with module type (<a
                                    href="https://github.com/jquery/jquery/issues/3871">#3871</a>, <a
                                    href="https://github.com/jquery/jquery/commit/5d3a968e031ab8dff5c07e1d6bb4f196fb82bfa0">5d3a968e</a>)
                            </li>
                        </ul>
                        <h3>Offset</h3>
                        <ul>
                            <li>Use correct offset parents; include all border/scroll values (<a
                                    href="https://github.com/jquery/jquery/issues/3080">#3080</a>, <a
                                    href="https://github.com/jquery/jquery/issues/3107">#3107</a>, <a
                                    href="https://github.com/jquery/jquery/commit/1d2df772b4d6e5dbf91df6e75f4a1809f7879ab0">1d2df772</a>)
                            </li>
                        </ul>
                        <h3>Support</h3>
                        <ul>
                            <li>Properly check for IE9 absolute scrollbox mishandling (<a
                                    href="https://github.com/jquery/jquery/issues/3699">#3699</a>, <a
                                    href="https://github.com/jquery/jquery/issues/3730">#3730</a>, <a
                                    href="https://github.com/jquery/jquery/commit/20cdf4e7de60f515a7acf6c70228c52668301d9b">20cdf4e7</a>)
                            </li>
                        </ul>
                    </div>
                </article>

                <article id="post-4197"
                         class="post-4197 post type-post status-publish format-standard hentry category-jquery">
                    <header class="entry-header">
                        <div class="entry-meta">
                            <span class="category"><a href="https://blog.jquery.com/category/jquery/">jQuery</a></span>
                        </div>
                        <h1 class="entry-title">
                            <a href="https://blog.jquery.com/2017/03/20/jquery-3-2-1-now-available/"
                               title="Permalink to jQuery 3.2.1 Is Now Available, With Some Hotfixes" rel="bookmark">jQuery
                                3.2.1 Is Now Available, With Some Hotfixes</a>
                        </h1>

                        <div class="entry-posted">
                            <span class="sep">Posted on </span><a
                                href="https://blog.jquery.com/2017/03/20/jquery-3-2-1-now-available/" title="2:04 pm"
                                rel="bookmark">
                            <time class="entry-date" datetime="2017-03-20T14:04:44-05:00" pubdate>March 20, 2017</time>
                        </a><span class="by-author"> <span class="sep"> by </span> <span class="author vcard"><a
                                class="url fn n" href="https://blog.jquery.com/author/timmywil/"
                                title="View all posts by Timmy Willison" rel="author">Timmy Willison</a></span></span>
                        </div>
                    </header>

                    <div class="entry-content">
                        <p>jQuery 3.2.1 is now available! This release comes with some hotfixes for regressions that
                            were introduced in the 3.2.0 build four days ago. We wanted to release this patch as quickly
                            as possible to squash any bugs you may have experienced when upgrading. The most significant
                            one had to do with retrieving width or height on an inline element with no explicitly-set
                            dimensions. This should now work as expected. A full list of changes is available below.
                            Also see the <a href="https://blog.jquery.com/2017/03/16/jquery-3-2-0-is-out/">3.2.0 blog
                                post</a> for the bug fixes and improvements that still apply if upgrading from jQuery
                            3.1.1.</p>
                        <p>There should be no compatibility issues if upgrading from jQuery 3.0+. If you haven’t yet
                            upgraded to jQuery 3+, please have a look at the <a
                                    href="https://jquery.com/upgrade-guide/3.0/">3.0 Upgrade Guide</a>. The <a
                                    href="https://github.com/jquery/jquery-migrate#migrate-older-jquery-code-to-jquery-30">jQuery
                                Migrate 3.0 plugin</a> will help you to identify compatibility issues in your code.</p>
                        <p>Please try out this new release and <a href="https://github.com/jquery/jquery/issues">let us
                            know about any issues you experienced</a>.</p>
                        <h2>Changes</h2>
                        <h3>Core</h3>
                        <ul>
                            <li>Ensure jQuery.holdReady is in the right place (<a
                                    href="https://github.com/jquery/jquery/issues/3573">#3573</a>, <a
                                    href="https://github.com/jquery/jquery/commit/fcc9a9ec9685e25864ca793698e4ac5e60226272">fcc9a9ec</a>)
                            </li>
                        </ul>
                        <h3>Dimensions</h3>
                        <ul>
                            <li>Ensure we get proper values for width and height on elements with display &#8220;inline&#8221;
                                (<a href="https://github.com/jquery/jquery/issues/3571">#3571</a>, <a
                                        href="https://github.com/jquery/jquery/commit/473d2ea7d5e4ef0a5b8e0305197f483c136ee4ab">473d2ea7</a>)
                            </li>
                        </ul>
                        <h3>Event</h3>
                        <ul>
                            <li>Ensure trigger data is passed to radio click event handlers (<a
                                    href="https://github.com/jquery/jquery/issues/3579">#3579</a>, <a
                                    href="https://github.com/jquery/jquery/commit/a6b0705294d336ae2f63f7276de0da1195495363">a6b07052</a>)
                            </li>
                            <li>Revert: Trigger checkbox and radio click events identically (<a
                                    href="https://github.com/jquery/jquery/commit/35785a32298d1033933ea4b041adb4cc73eaae47">35785a32</a>).
                            </li>
                            <li>Revert: Add radio click triggering tests (<a
                                    href="https://github.com/jquery/jquery/commit/4d6b4536b2e0148d4b228884a0b356e73dd8beec">4d6b4536</a>).
                            </li>
                        </ul>
                        <p><strong>GitHub changelog: </strong> <a
                                href="https://github.com/jquery/jquery/issues?q=is%3Aissue+milestone%3A3.2.1+is%3Aclosed">Issues
                            fixed in 3.2.1</a> | <a href="https://github.com/jquery/jquery/compare/3.2.0...3.2.1">All
                            changes</a></p>
                        <h2>Download</h2>
                        <p>You can get the files from the jQuery CDN, or link to them directly:</p>
                        <p><a href="https://code.jquery.com/jquery-3.2.1.js">https://code.jquery.com/jquery-3.2.1.js</a>
                        </p>
                        <p><a href="https://code.jquery.com/jquery-3.2.1.min.js">https://code.jquery.com/jquery-3.2.1.min.js</a>
                        </p>
                        <p>You can also get this release from npm:</p>
                        <p><code>npm install jquery@3.2.1</code></p>
                        <h3>Slim build</h3>
                        <p>Sometimes you don&#8217;t need ajax, or you prefer to use one of the many standalone
                            libraries that focus on ajax requests. And often it is simpler to use a combination of CSS
                            and class manipulation for all your web animations. Along with the regular version of jQuery
                            that includes the ajax and effects modules, we&#8217;ve released a &#8220;slim&#8221;
                            version that excludes these modules. The size of jQuery is very rarely a load performance
                            concern these days, but the slim build is about 6k gzipped bytes smaller than the regular
                            version – 23.6k vs 30k. These files are also available in the npm package and on the
                            CDN:</p>
                        <p><a href="https://code.jquery.com/jquery-3.2.1.slim.js">https://code.jquery.com/jquery-3.2.1.slim.js</a><br/>
                            <a href="https://code.jquery.com/jquery-3.2.1.slim.min.js">https://code.jquery.com/jquery-3.2.1.slim.min.js</a>
                        </p>
                        <p>These updates are already available as the current versions on npm and Bower. Information on
                            all the ways to get jQuery is available at <a href="https://jquery.com/download/">https://jquery.com/download/</a>.
                            Public CDNs receive their copies today, please give them a few days to post the files. If
                            you’re anxious to get a quick start, use the files on our CDN until they have a chance to
                            update.</p>
                        <h2>Thanks</h2>
                        <p>Many thanks to all of you who participated in this release by testing, reporting bugs, or
                            submitting patches, including <a href="https://github.com/stevemao">Steve Mao</a> and the
                            whole jQuery team.</p>
                    </div>
                </article>
                <div class="pagination"><span aria-current="page" class="page-numbers current">1</span>
                    <a class="page-numbers" href="https://blog.jquery.com/page/2/">2</a>
                    <a class="page-numbers" href="https://blog.jquery.com/page/3/">3</a>
                    <span class="page-numbers dots">&hellip;</span>
                    <a class="page-numbers" href="https://blog.jquery.com/page/38/">38</a>
                    <a class="next page-numbers" href="https://blog.jquery.com/page/2/">Next &raquo;</a></div>
            </div>
            <div id="sidebar" class="widget-area" role="complementary">
                <aside class="widget">
                    <h3 class="widget-title">Categories</h3>
                    <ul>
                        <li class="cat-item cat-item-16"><a href="https://blog.jquery.com/category/events/">Events</a>
                        </li>
                        <li class="cat-item cat-item-20"><a href="https://blog.jquery.com/category/foundation/">Foundation</a>
                        </li>
                        <li class="cat-item cat-item-3"><a href="https://blog.jquery.com/category/jquery/">jQuery</a>
                        </li>
                        <li class="cat-item cat-item-2"><a href="https://blog.jquery.com/category/jquery-ui/">jQuery
                            UI</a>
                        </li>
                        <li class="cat-item cat-item-24"><a
                                href="https://blog.jquery.com/category/projects/">Projects</a>
                        </li>
                        <li class="cat-item cat-item-4"><a href="https://blog.jquery.com/category/weekly-news/">Weekly
                            News</a>
                        </li>
                    </ul>
                </aside>
                <aside class="widget">
                    <h3 class="widget-title">Recent Posts</h3>
                    <ul>
                        <li>
                            <a href="https://blog.jquery.com/2021/06/17/jquery-project-updates-addressing-temporary-cdn-issues/">jQuery
                                project updates addressing temporary CDN issues</a></li>
                        <li><a href="https://blog.jquery.com/2021/03/02/jquery-3-6-0-released/">jQuery 3.6.0
                            Released!</a></li>
                        <li><a href="https://blog.jquery.com/2020/05/04/jquery-3-5-1-released-fixing-a-regression/">jQuery
                            3.5.1 Released: Fixing a Regression</a></li>
                        <li><a href="https://blog.jquery.com/2020/04/10/jquery-3-5-0-released/">jQuery 3.5.0
                            Released!</a></li>
                        <li>
                            <a href="https://blog.jquery.com/2019/05/01/jquery-3-4-1-triggering-focus-events-in-ie-and-finding-root-elements-in-ios-10/">jQuery
                                3.4.1: triggering focus events in IE and finding root elements in iOS 10</a></li>
                        <li><a href="https://blog.jquery.com/2019/04/10/jquery-3-4-0-released/">jQuery 3.4.0
                            Released</a></li>
                        <li>
                            <a href="https://blog.jquery.com/2018/08/30/bad-map-file-for-jquery-1-9-1-in-the-jquery-cdn/">Bad
                                map file for jQuery 1.9.1 in the jQuery CDN</a></li>
                        <li>
                            <a href="https://blog.jquery.com/2018/01/20/jquery-3-3-1-fixed-dependencies-in-release-tag/">jQuery
                                3.3.1 - fixed dependencies in release tag</a></li>
                        <li>
                            <a href="https://blog.jquery.com/2018/01/19/jquery-3-3-0-a-fragrant-bouquet-of-deprecations-and-is-that-a-new-feature/">jQuery
                                3.3.0 - A fragrant bouquet of deprecations and...is that a new feature?</a></li>
                        <li><a href="https://blog.jquery.com/2017/03/20/jquery-3-2-1-now-available/">jQuery 3.2.1 Is Now
                            Available, With Some Hotfixes</a></li>
                    </ul>
                </aside>
                <aside class="widget">
                    <h3 class="widget-title">Archives</h3>
                    <ul>
                        <li><a href='https://blog.jquery.com/2021/06/'>June 2021</a></li>
                        <li><a href='https://blog.jquery.com/2021/03/'>March 2021</a></li>
                        <li><a href='https://blog.jquery.com/2020/05/'>May 2020</a></li>
                        <li><a href='https://blog.jquery.com/2020/04/'>April 2020</a></li>
                        <li><a href='https://blog.jquery.com/2019/05/'>May 2019</a></li>
                        <li><a href='https://blog.jquery.com/2019/04/'>April 2019</a></li>
                        <li><a href='https://blog.jquery.com/2018/08/'>August 2018</a></li>
                        <li><a href='https://blog.jquery.com/2018/01/'>January 2018</a></li>
                        <li><a href='https://blog.jquery.com/2017/03/'>March 2017</a></li>
                        <li><a href='https://blog.jquery.com/2016/09/'>September 2016</a></li>
                        <li><a href='https://blog.jquery.com/2016/07/'>July 2016</a></li>
                        <li><a href='https://blog.jquery.com/2016/06/'>June 2016</a></li>
                        <li><a href='https://blog.jquery.com/2016/05/'>May 2016</a></li>
                        <li><a href='https://blog.jquery.com/2016/04/'>April 2016</a></li>
                        <li><a href='https://blog.jquery.com/2016/03/'>March 2016</a></li>
                        <li><a href='https://blog.jquery.com/2016/02/'>February 2016</a></li>
                        <li><a href='https://blog.jquery.com/2016/01/'>January 2016</a></li>
                        <li><a href='https://blog.jquery.com/2015/12/'>December 2015</a></li>
                        <li><a href='https://blog.jquery.com/2015/11/'>November 2015</a></li>
                        <li><a href='https://blog.jquery.com/2015/09/'>September 2015</a></li>
                        <li><a href='https://blog.jquery.com/2015/07/'>July 2015</a></li>
                        <li><a href='https://blog.jquery.com/2015/04/'>April 2015</a></li>
                        <li><a href='https://blog.jquery.com/2015/03/'>March 2015</a></li>
                        <li><a href='https://blog.jquery.com/2015/02/'>February 2015</a></li>
                        <li><a href='https://blog.jquery.com/2015/01/'>January 2015</a></li>
                        <li><a href='https://blog.jquery.com/2014/12/'>December 2014</a></li>
                        <li><a href='https://blog.jquery.com/2014/10/'>October 2014</a></li>
                        <li><a href='https://blog.jquery.com/2014/09/'>September 2014</a></li>
                        <li><a href='https://blog.jquery.com/2014/08/'>August 2014</a></li>
                        <li><a href='https://blog.jquery.com/2014/07/'>July 2014</a></li>
                        <li><a href='https://blog.jquery.com/2014/05/'>May 2014</a></li>
                        <li><a href='https://blog.jquery.com/2014/04/'>April 2014</a></li>
                        <li><a href='https://blog.jquery.com/2014/03/'>March 2014</a></li>
                        <li><a href='https://blog.jquery.com/2014/01/'>January 2014</a></li>
                        <li><a href='https://blog.jquery.com/2013/12/'>December 2013</a></li>
                        <li><a href='https://blog.jquery.com/2013/11/'>November 2013</a></li>
                        <li><a href='https://blog.jquery.com/2013/10/'>October 2013</a></li>
                        <li><a href='https://blog.jquery.com/2013/09/'>September 2013</a></li>
                        <li><a href='https://blog.jquery.com/2013/08/'>August 2013</a></li>
                        <li><a href='https://blog.jquery.com/2013/07/'>July 2013</a></li>
                        <li><a href='https://blog.jquery.com/2013/06/'>June 2013</a></li>
                        <li><a href='https://blog.jquery.com/2013/05/'>May 2013</a></li>
                        <li><a href='https://blog.jquery.com/2013/04/'>April 2013</a></li>
                        <li><a href='https://blog.jquery.com/2013/03/'>March 2013</a></li>
                        <li><a href='https://blog.jquery.com/2013/02/'>February 2013</a></li>
                        <li><a href='https://blog.jquery.com/2013/01/'>January 2013</a></li>
                        <li><a href='https://blog.jquery.com/2012/12/'>December 2012</a></li>
                        <li><a href='https://blog.jquery.com/2012/11/'>November 2012</a></li>
                        <li><a href='https://blog.jquery.com/2012/10/'>October 2012</a></li>
                        <li><a href='https://blog.jquery.com/2012/09/'>September 2012</a></li>
                        <li><a href='https://blog.jquery.com/2012/08/'>August 2012</a></li>
                        <li><a href='https://blog.jquery.com/2012/07/'>July 2012</a></li>
                        <li><a href='https://blog.jquery.com/2012/06/'>June 2012</a></li>
                        <li><a href='https://blog.jquery.com/2012/05/'>May 2012</a></li>
                        <li><a href='https://blog.jquery.com/2012/04/'>April 2012</a></li>
                        <li><a href='https://blog.jquery.com/2012/03/'>March 2012</a></li>
                        <li><a href='https://blog.jquery.com/2012/01/'>January 2012</a></li>
                        <li><a href='https://blog.jquery.com/2011/12/'>December 2011</a></li>
                        <li><a href='https://blog.jquery.com/2011/11/'>November 2011</a></li>
                        <li><a href='https://blog.jquery.com/2011/10/'>October 2011</a></li>
                        <li><a href='https://blog.jquery.com/2011/09/'>September 2011</a></li>
                        <li><a href='https://blog.jquery.com/2011/08/'>August 2011</a></li>
                        <li><a href='https://blog.jquery.com/2011/06/'>June 2011</a></li>
                        <li><a href='https://blog.jquery.com/2011/05/'>May 2011</a></li>
                        <li><a href='https://blog.jquery.com/2011/04/'>April 2011</a></li>
                        <li><a href='https://blog.jquery.com/2011/03/'>March 2011</a></li>
                        <li><a href='https://blog.jquery.com/2011/02/'>February 2011</a></li>
                        <li><a href='https://blog.jquery.com/2011/01/'>January 2011</a></li>
                        <li><a href='https://blog.jquery.com/2010/12/'>December 2010</a></li>
                        <li><a href='https://blog.jquery.com/2010/11/'>November 2010</a></li>
                        <li><a href='https://blog.jquery.com/2010/10/'>October 2010</a></li>
                        <li><a href='https://blog.jquery.com/2010/09/'>September 2010</a></li>
                        <li><a href='https://blog.jquery.com/2010/08/'>August 2010</a></li>
                        <li><a href='https://blog.jquery.com/2010/07/'>July 2010</a></li>
                        <li><a href='https://blog.jquery.com/2010/06/'>June 2010</a></li>
                        <li><a href='https://blog.jquery.com/2010/04/'>April 2010</a></li>
                        <li><a href='https://blog.jquery.com/2010/03/'>March 2010</a></li>
                        <li><a href='https://blog.jquery.com/2010/02/'>February 2010</a></li>
                        <li><a href='https://blog.jquery.com/2010/01/'>January 2010</a></li>
                        <li><a href='https://blog.jquery.com/2009/12/'>December 2009</a></li>
                        <li><a href='https://blog.jquery.com/2009/10/'>October 2009</a></li>
                        <li><a href='https://blog.jquery.com/2009/08/'>August 2009</a></li>
                        <li><a href='https://blog.jquery.com/2009/07/'>July 2009</a></li>
                        <li><a href='https://blog.jquery.com/2009/06/'>June 2009</a></li>
                        <li><a href='https://blog.jquery.com/2009/05/'>May 2009</a></li>
                        <li><a href='https://blog.jquery.com/2009/04/'>April 2009</a></li>
                        <li><a href='https://blog.jquery.com/2009/03/'>March 2009</a></li>
                        <li><a href='https://blog.jquery.com/2009/02/'>February 2009</a></li>
                        <li><a href='https://blog.jquery.com/2009/01/'>January 2009</a></li>
                        <li><a href='https://blog.jquery.com/2008/12/'>December 2008</a></li>
                        <li><a href='https://blog.jquery.com/2008/11/'>November 2008</a></li>
                        <li><a href='https://blog.jquery.com/2008/10/'>October 2008</a></li>
                        <li><a href='https://blog.jquery.com/2008/09/'>September 2008</a></li>
                        <li><a href='https://blog.jquery.com/2008/08/'>August 2008</a></li>
                        <li><a href='https://blog.jquery.com/2008/07/'>July 2008</a></li>
                        <li><a href='https://blog.jquery.com/2008/06/'>June 2008</a></li>
                        <li><a href='https://blog.jquery.com/2008/05/'>May 2008</a></li>
                        <li><a href='https://blog.jquery.com/2008/03/'>March 2008</a></li>
                        <li><a href='https://blog.jquery.com/2008/02/'>February 2008</a></li>
                        <li><a href='https://blog.jquery.com/2008/01/'>January 2008</a></li>
                        <li><a href='https://blog.jquery.com/2007/12/'>December 2007</a></li>
                        <li><a href='https://blog.jquery.com/2007/11/'>November 2007</a></li>
                        <li><a href='https://blog.jquery.com/2007/10/'>October 2007</a></li>
                        <li><a href='https://blog.jquery.com/2007/09/'>September 2007</a></li>
                        <li><a href='https://blog.jquery.com/2007/08/'>August 2007</a></li>
                        <li><a href='https://blog.jquery.com/2007/07/'>July 2007</a></li>
                        <li><a href='https://blog.jquery.com/2007/06/'>June 2007</a></li>
                        <li><a href='https://blog.jquery.com/2007/05/'>May 2007</a></li>
                        <li><a href='https://blog.jquery.com/2007/04/'>April 2007</a></li>
                        <li><a href='https://blog.jquery.com/2007/03/'>March 2007</a></li>
                        <li><a href='https://blog.jquery.com/2007/02/'>February 2007</a></li>
                        <li><a href='https://blog.jquery.com/2007/01/'>January 2007</a></li>
                        <li><a href='https://blog.jquery.com/2006/12/'>December 2006</a></li>
                        <li><a href='https://blog.jquery.com/2006/11/'>November 2006</a></li>
                        <li><a href='https://blog.jquery.com/2006/10/'>October 2006</a></li>
                        <li><a href='https://blog.jquery.com/2006/09/'>September 2006</a></li>
                        <li><a href='https://blog.jquery.com/2006/08/'>August 2006</a></li>
                        <li><a href='https://blog.jquery.com/2006/07/'>July 2006</a></li>
                        <li><a href='https://blog.jquery.com/2006/06/'>June 2006</a></li>
                        <li><a href='https://blog.jquery.com/2006/05/'>May 2006</a></li>
                        <li><a href='https://blog.jquery.com/2006/04/'>April 2006</a></li>
                        <li><a href='https://blog.jquery.com/2006/03/'>March 2006</a></li>
                        <li><a href='https://blog.jquery.com/2006/02/'>February 2006</a></li>
                        <li><a href='https://blog.jquery.com/2006/01/'>January 2006</a></li>
                        <li><a href='https://blog.jquery.com/1997/08/'>August 1997</a></li>
                    </ul>
                </aside>
            </div>
        </div>

    </div>
</div>

<footer class="clearfix simple">
    <div class="constrain">
        <div class="row">
            <div class="six columns offset-by-three">
                <h3><span>Books</span></h3>
                <ul class="books">
                    <li>
                        <a href="http://www.packtpub.com/learning-jquery-with-simple-javascript-techniques-fourth-edition/book">
                            <img src="https://blog.jquery.com/wp-content/themes/jquery/content/books/learning-jquery-4th-ed.jpg"
                                 alt="Learning jQuery 4th Edition by Karl Swedberg and Jonathan Chaffer" width="92"
                                 height="114">
                            Learning jQuery Fourth Edition
                            <cite>Karl Swedberg and Jonathan Chaffer</cite>
                        </a>
                    </li>
                    <li>
                        <a href="http://www.manning.com/derosa?a_aid=141d9491&a_bid=bdd5b7ad">
                            <img src="https://blog.jquery.com/wp-content/themes/jquery/content/books/jquery-in-action.jpg"
                                 alt="jQuery in Action by Bear Bibeault, Yehuda Katz, and Aurelio De Rosa" width="92"
                                 height="114">
                            jQuery in Action
                            <cite>Bear Bibeault, Yehuda Katz, and Aurelio De Rosa</cite>
                        </a>
                    </li>
                    <li>
                        <a href="http://www.syncfusion.com/resources/techportal/ebooks/jquery?utm_medium=BizDev-jQuery.org0513">
                            <img src="https://blog.jquery.com/wp-content/themes/jquery/content/books/jquery-succinctly.jpg"
                                 alt="jQuery Succinctly by Cody Lindley" width="92" height="114">
                            jQuery Succinctly
                            <cite>Cody Lindley</cite>
                        </a>
                    </li>
                </ul>
            </div>
        </div>


        <div id="legal">
            <ul class="footer-site-links">
                <li><a class="icon-pencil" href="http://learn.jquery.com/">Learning Center</a></li>
                <li><a class="icon-group" href="http://forum.jquery.com/">Forum</a></li>
                <li><a class="icon-wrench" href="../api.jquery.com/">API</a></li>
                <li><a class="icon-twitter" href="http://twitter.com/jquery">Twitter</a></li>
                <li><a class="icon-comments" href="http://irc.jquery.org/">IRC</a></li>
                <li><a class="icon-github" href="https://github.com/jquery">GitHub</a></li>
            </ul>
            <p class="copyright">
                Copyright 2021 <a href="https://jquery.org/team/">The jQuery Foundation</a>.
                <a href="https://jquery.org/license/">jQuery License</a>
                <span class="sponsor-line"><a href="http://digitalocean.com" rel="nofollow" class="do-link">Web hosting by Digital Ocean</a> | <a
                        href="http://www.stackpath.com" rel="nofollow" class="sp-link">CDN by StackPath</a></span>
            </p>
        </div>

    </div>
</footer>

<script type='text/javascript' src='https://blog.jquery.com/wp-includes/js/wp-embed.min.js?ver=5.8'
        id='wp-embed-js'></script>

</body>
</html>
